beisen

#include <stdio.h>
#include <pthread.h>
#include <windows.h>
#define N 100
#define true 1
#define producerNum  10
#define consumerNum  5
#define sleepTime 1000

typedef int semaphore;
typedef int item;
item buffer[N] = {0};
int in = 0;
int out = 0;
int proCount = 0;
semaphore mutex = 1, empty = N, full = 0, proCmutex = 1;

void * producer(void * a){
    while(true){
        while(proCmutex <= 0);
        proCmutex--;
        proCount++;
        printf("生产一个产品ID%d, 缓冲区位置为%d\n",proCount,in);
        proCmutex++;

        while(empty <= 0){
            printf("缓冲区已满!\n");
        }
        empty--;

        while(mutex <= 0);
        mutex--;

        buffer[in] = proCount;
        in = (in + 1) % N;

        mutex++;
        full++;
        Sleep(sleepTime);
    }
}

void * consumer(void *b){
    while(true){
        while(full <= 0){
            printf("缓冲区为空!\n");
        }
        full--;

        while(mutex <= 0);
        mutex--;

        int nextc = buffer[out];
        buffer[out] = 0;//消费完将缓冲区设置为0

        out = (out + 1) % N;

        mutex++;
        empty++;

        printf("\t\t\t\t消费一个产品ID%d,缓冲区位置为%d\n", nextc,out);
        Sleep(sleepTime);
    }
}

int main()
{
    pthread_t threadPool[producerNum+consumerNum];
    int i;
    for(i = 0; i < producerNum; i++){
        pthread_t temp;
        if(pthread_create(&temp, NULL, producer, NULL) == -1){
            printf("ERROR, fail to create producer%d\n", i);
            exit(1);
        }
        threadPool[i] = temp;
    }//创建生产者进程放入线程池


    for(i = 0; i < consumerNum; i++){
        pthread_t temp;
        if(pthread_create(&temp, NULL, consumer, NULL) == -1){
            printf("ERROR, fail to create consumer%d\n", i);
            exit(1);
        }
        threadPool[i+producerNum] = temp;
    }//创建消费者进程放入线程池


    void * result;
    for(i = 0; i < producerNum+consumerNum; i++){
        if(pthread_join(threadPool[i], &result) == -1){
            printf("fail to recollect\n");
            exit(1);
        }
    }//运行线程池
    return 0;
}

2

#include<stdio.h>
#include<stdlib.h>
#include<semaphore.h>
#include<pthread.h>
#include<unistd.h>

#define NumOf_Producer 5  //the max num of producer
#define NumOf_Consumer 10  //the max num of consumer
#define Maxnum 10  //  the max num of product
sem_t Empty_sem; //the goal of whether the num of product is null
sem_t Full_sem;  //the goal of whether the num of product is equal to Maxnum

pthread_mutex_t Mutex;  //the goal of whether someone use the buff

int Producer_id = 0;
int Consumer_id = 0;
int NowNumOfProduce = 0;
void *Producer(void *arg)    //the thread of producer
{
    int id = Producer_id++;
    while(1)
    {
        sleep(0.1);
        sem_wait(&Full_sem);   //when it comes to zero ,it means that the num of product is equal to Maxnum
        pthread_mutex_lock(&Mutex);  //lock the buff
        NowNumOfProduce++;
        printf("Producerthread %d product one,the num is:%d \n",id%NumOf_Producer,NowNumOfProduce);
        pthread_mutex_unlock(&Mutex);
        sem_post(&Empty_sem);   //when it comes to ten ,it means there are ten products can be used by consumer
    }

    return ((void *)0);
}

void *Consumer(void *arg)
{
    int id = Consumer_id++;
    while(1)
    {
        sleep(0.2);
        sem_wait(&Empty_sem);
        pthread_mutex_lock(&Mutex);
        NowNumOfProduce--;
        printf("Consumerthread %d use product one,the num is:%d \n",id%NumOf_Consumer,NowNumOfProduce);
        pthread_mutex_unlock(&Mutex);
        sem_post(&Full_sem);
    }
    return ((void *)0);
}

int main()
{
    pthread_t Con[NumOf_Consumer];
    pthread_t Pro[NumOf_Producer];

    int temp1 = sem_init(&Empty_sem,0,0);
    int temp2 = sem_init(&Full_sem,0,Maxnum);
    if(temp1&&temp2!=0)
    {
        printf("sem init failed \n");
        exit(1);
    }

    int temp3 = pthread_mutex_init(&Mutex,NULL);

    if(temp3!=0)
    {
        printf("Mutex init failed \n");
        exit(1);
    }

    for(int i=0 ;i<NumOf_Producer;i++)
    {
        int temp4 = pthread_create(&Pro[i],NULL,Producer,(void *)&i);
        if(temp4!=0)
        {
            printf("thread create failed !\n");
            exit(1);
        }
    }

    for(int i=0;i<NumOf_Consumer;i++)
    {
        int temp5 = pthread_create(&Con[i],NULL,Consumer,(void *)&i);
        if(temp5!=0)
        {
            printf("thread create failed !\n");
        }
        exit(1);
    }
    //destroy the thread
    for(int i=0;i<NumOf_Consumer;i++)
    {
           pthread_join(Con[i],NULL);
    }

    for(int i=0;i<NumOf_Producer;i++)
    {
        pthread_join(Pro[i],NULL);
    }

    return 0;
}

3

#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<semaphore.h>
#include<pthread.h>
#define msleep(x)   usleep(x*1000)
#define PRODUCT_SPEED       3               //生产速度
#define CONSUM_SPEED        1               //消费速度
#define INIT_NUM                3               //仓库原有产品数
#define TOTAL_NUM               10          //仓库容量
 
sem_t p_sem, c_sem, sh_sem;
int num=INIT_NUM;
 
void product(void)                          //生产产品
{
    sleep(PRODUCT_SPEED);
}
 
int add_to_lib()                                //添加产品到仓库
{
    num++;//仓库中的产品增加一个
    msleep(500);
    return num;
}
 
void consum()                                       //消费
{
    sleep(CONSUM_SPEED);
}
 
int sub_from_lib()                          //从仓库中取出产品
{
    num--; //仓库中的产品数量减一
    msleep(500);
    return num;
}
 
void *productor(void *arg)          //生产者线程
{
    while(1)
    {
        sem_wait(&p_sem);//生产信号量减一
        product();// 生产延时       
        sem_wait(&sh_sem);//这个信号量是用来互斥的
        printf("push into! tatol_num=%d\n",add_to_lib());
        sem_post(&sh_sem);  
        sem_post(&c_sem);  //消费信号量加一
    }
}
 
void *consumer(void *arg)               //消费者线程
{
    while(1)
    {
         
        sem_wait(&c_sem); //消费者信号量减一    
        sem_wait(&sh_sem);
        printf("pop out! tatol_num=%d\n",sub_from_lib());
        sem_post(&sh_sem);      
        sem_post(&p_sem);//生产者信号量加一 
        consum();//消费延时
         
         
         
    }
}
 
int main()
{
    pthread_t tid1,tid2;
    sem_init(&p_sem,0,TOTAL_NUM-INIT_NUM);
     
    sem_init(&c_sem,0,INIT_NUM);
     
    sem_init(&sh_sem,0,1);
     
    pthread_create(&tid1,NULL,productor,NULL);
    pthread_create(&tid2,NULL,consumer,NULL);
     
    pthread_join(tid1,NULL);
    pthread_join(tid2,NULL);
    return 0;
}

 

 

er

1https://www.cnblogs.com/Dzhouqi/p/3362259.html

#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<semaphore.h>
#include<pthread.h>
#define msleep(x)   usleep(x*1000)
#define PRODUCT_SPEED       3               //生产速度
#define CONSUM_SPEED        1               //消费速度
#define INIT_NUM                3               //仓库原有产品数
#define TOTAL_NUM               10          //仓库容量
 
sem_t p_sem, c_sem, sh_sem;
int num=INIT_NUM;
 
void product(void)                          //生产产品
{
    sleep(PRODUCT_SPEED);
}
 
int add_to_lib()                                //添加产品到仓库
{
    num++;//仓库中的产品增加一个
    msleep(500);
    return num;
}
 
void consum()                                       //消费
{
    sleep(CONSUM_SPEED);
}
 
int sub_from_lib()                          //从仓库中取出产品
{
    num--; //仓库中的产品数量减一
    msleep(500);
    return num;
}
 
void *productor(void *arg)          //生产者线程
{
    while(1)
    {
        sem_wait(&p_sem);//生产信号量减一
        product();// 生产延时       
        sem_wait(&sh_sem);//这个信号量是用来互斥的
        printf("push into! tatol_num=%d\n",add_to_lib());
        sem_post(&sh_sem);  
        sem_post(&c_sem);  //消费信号量加一
    }
}
 
void *consumer(void *arg)               //消费者线程
{
    while(1)
    {
         
        sem_wait(&c_sem); //消费者信号量减一    
        sem_wait(&sh_sem);
        printf("pop out! tatol_num=%d\n",sub_from_lib());
        sem_post(&sh_sem);      
        sem_post(&p_sem);//生产者信号量加一 
        consum();//消费延时
         
         
         
    }
}
 
int main()
{
    pthread_t tid1,tid2;
    sem_init(&p_sem,0,TOTAL_NUM-INIT_NUM);
     
    sem_init(&c_sem,0,INIT_NUM);
     
    sem_init(&sh_sem,0,1);
     
    pthread_create(&tid1,NULL,productor,NULL);
    pthread_create(&tid2,NULL,consumer,NULL);
     
    pthread_join(tid1,NULL);
    pthread_join(tid2,NULL);
    return 0;
}
View Code

2https://blog.csdn.net/qq_33783291/article/details/70147401

#include <iostream>  
#include <string>  
#include <cmath>  
   
using namespace std;  
   
const  double  PRECISION = 1E-6;  
const  int  COUNT_OF_NUMBER  = 4;  
const  int  NUMBER_TO_BE_CAL = 24;  
double  number[COUNT_OF_NUMBER];  
string  expression[COUNT_OF_NUMBER];  
bool Judgement = false;                    //判断是否有解。
int count = 0;   
   
void  Search(int   n)  
{  
   if (n   ==   1)
   {  
     if ( fabs(number[0] - NUMBER_TO_BE_CAL) <= PRECISION   )  //对于除法,要小心小数的精确位数
     {  
     cout << expression[0] << "\t\t"; 
     Judgement = true;
     count ++;
     if((count % 3)==0)
     cout<<endl;
     }  
   else 
   { }
   
   }  
   
   for(int i=0;  i < n; i++)
    {
      for (int j = i + 1; j < n; j++)
    {  
       double   a,   b;  
       string   expa,   expb;  
       a   =   number[i];  
       b   =   number[j];  
       number[j]  =  number[n - 1];   //递归之后,n比以前小一位,所以可以不停向前赋值 
       expa   =   expression[i];  
       expb   =   expression[j];  
       expression[j]  =  expression[n - 1];   //递归之后,n比以前小一位,所以可以不停向前赋值
       expression[i]   =   '('   +   expa   +   '+'   +   expb   +   ')';   //加法不需要分顺序
       number[i]   =   a   +   b;  
       Search(n-1);
       expression[i]   =   '('   +   expa   +   '-'   +   expb   +   ')';   //减法应该分顺序,减数以及被减数
       number[i]   =   a   -   b;  
       Search(n-1); 
       expression[i]   =   '('   +   expb   +   '-'   +   expa   +   ')';   //减法应该分顺序,减数以及被减数
       number[i]   =   b   -   a;  
       Search(n-1); 
       expression[i]   =   '('   +   expa   +   '*'   +   expb   +   ')';   //乘法不需要分顺序
       number[i]   =   a   *   b;  
       Search(n-1); 
       if (b != 0)
      {  
         expression[i]   =   '('   +   expa   +   '/'   +   expb   +   ')';   //除法应该分顺序,除数以及被除数
         number[i] = a / b;  
         Search(n-1);  
      }    
       if (a != 0)
      {  
         expression[i]   =   '('   +   expb   +   '/'   +   expa   +   ')';   //除法应该分顺序,除数以及被除数
         number[i]   =   b  /  a;  
         Search(n-1);  
      }  
   
         number[i]   =   a;                  //这4句语句是为了防止如果上面几种可能都失败了的话,
         number[j]   =   b;                  //就把原来的赋值撤消回去,以无干扰的正确的进入到下一次
         expression[i]   =   expa;           //for循环队列中。
         expression[j]   =   expb;           //
      }  
    }
}  
   
int  main()  
{  
  cout<<"请依次输入4个数字:\n";
  for (int i = 0; i < COUNT_OF_NUMBER; i++) 
  {  
    char   buffer[20];   
    cout<<""<<i+1<<"个卡片:";
    cin   >>   number[i];                  
    itoa(number[i],   buffer,   10);   //itoa()函数的作用是把第一个参数(数值)传送到第二个参数(字符串)中去,第三个
               //参数(int型)是该数值在字符串里以什么进制存放。
    expression[i]   =   buffer;  
  }
  cout<<endl;
  Search(COUNT_OF_NUMBER) ;
  if(Judgement==true)
  {  
    cout   <<   "\n成功"   <<   endl;
    cout<<"所以可以计算的次数总和 = "<<count<<endl;
  }  
  else
  {  
    cout   <<   "失败"   <<   endl;  
  }       
  system("pause");
  return 0;
}
View Code

3

 

#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<semaphore.h>
#include<pthread.h>
#define msleep(x)   usleep(x*1000)
#define PRODUCT_SPEED       3               //生产速度
#define CONSUM_SPEED        1               //消费速度
#define INIT_NUM                3               //仓库原有产品数
#define TOTAL_NUM               10          //仓库容量
 
sem_t p_sem, c_sem, sh_sem;
int num=INIT_NUM;
 
void product(void)                          //生产产品
{
    sleep(PRODUCT_SPEED);
}
 
int add_to_lib()                                //添加产品到仓库
{
    num++;//仓库中的产品增加一个
    msleep(500);
    return num;
}
 
void consum()                                       //消费
{
    sleep(CONSUM_SPEED);
}
 
int sub_from_lib()                          //从仓库中取出产品
{
    num--; //仓库中的产品数量减一
    msleep(500);
    return num;
}
 
void *productor(void *arg)          //生产者线程
{
    while(1)
    {
        sem_wait(&p_sem);//生产信号量减一
        product();// 生产延时       
        sem_wait(&sh_sem);//这个信号量是用来互斥的
        printf("push into! tatol_num=%d\n",add_to_lib());
        sem_post(&sh_sem);  
        sem_post(&c_sem);  //消费信号量加一
    }
}
 
void *consumer(void *arg)               //消费者线程
{
    while(1)
    {
         
        sem_wait(&c_sem); //消费者信号量减一    
        sem_wait(&sh_sem);
        printf("pop out! tatol_num=%d\n",sub_from_lib());
        sem_post(&sh_sem);      
        sem_post(&p_sem);//生产者信号量加一 
        consum();//消费延时
         
         
         
    }
}
 
int main()
{
    pthread_t tid1,tid2;
    sem_init(&p_sem,0,TOTAL_NUM-INIT_NUM);
     
    sem_init(&c_sem,0,INIT_NUM);
     
    sem_init(&sh_sem,0,1);
     
    pthread_create(&tid1,NULL,productor,NULL);
    pthread_create(&tid2,NULL,consumer,NULL);
     
    pthread_join(tid1,NULL);
    pthread_join(tid2,NULL);
    return 0;
}


// 1.16.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
#include<string>
#include "stdio.h"
#include <math.h> 
using namespace std;

const int CardsNumber = 4;//24点有四张卡
const double ErrorThreshold=1E-6;//由于舍入误差,需要加入一个误差阈值,误差在一定范围之内为,判断相等
const int ResultValue = 24;

#define N 4

 
string result[CardsNumber]={"3","1","3","4"};
double number[CardsNumber]={3,1,3,4};
bool PointsGame(int n)
{
    if(n == 1)
    {
        //如果结果为24
        //由于舍入误差,应允许一定范围内的误差

        if( fabs(number[0]-ResultValue)<ErrorThreshold)
        {
            cout<<result[0]<<endl;
            //cout<<'1'<<endl;
            return true;
        }
        else
        {
            return false;
        }

    }

    
    for(int i=0 ;i<n ;i++)
    {
        for(int j=i+1;j<n;j++)
        {
            double a,b;
            string expa,expb;

            a=number[i];
            b=number[j];
            number[j]=number[n-1];

            expa=result[i];
            expb=result[j];
            result[j]=result[n-1];

            result[i]='('+ expa +'+'+expb+')';
            number[i]=a+b;
            if(PointsGame(n-1))
                return true;

            result[i]='('+ expa +'-' + expb +')';
            number[i]=a-b;
            if(PointsGame(n-1))
                return true;

            result[i]='('+ expa + '*' + expb +')';
            number[i]=a*b;
            if(PointsGame(n-1))
                return true;

            if(b!=0)
            {result[i]='('+expa +'/'+ expb +')';
            number[i]=a/b;
            if(PointsGame(n-1))
                return true;

            }

            number[i]=a;
            number[j]=b;
            result[i]=expa;
            result[j]=expb;

        }
    }

    return false;
}




int _tmain(int argc, _TCHAR* argv[])
{


    
    PointsGame(4);




    return 0;
}




#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
using namespace std;
 
int a1[5],b1[4];
 
void gol(char f,int k,int num)
{
    if (f=='a') for(int i=k;i<=num;i++) a1[i-1]=a1[i];
    if (f=='b') for(int i=k;i<=num;i++) b1[i-1]=b1[i];
}
 
int cal(int a,int b,int num)
{
    if (num==0) return a+b;
    if (num==1) return a-b;
    if (num==2) return a*b;
    if (num==3) return a/b;
}
 
string cha(int a)
{
    string p;
    p="";
    while(a>0)
    {
        p=(char)(a%10)+p;
        a/=10;
    }
    return p;
}
 
string chaf(int a)
{
    if (a==0) return "+";
    if (a==1) return "-";
    if (a==2) return "*";
    if (a==3) return "/";
}
 
int main()
{
    string ans[5];
    int a[5],b[5],i,anum,bnum;
    for(i=1;i<=4;i++) cin >> a[i];
    memset(b,0,sizeof(b));
    bool f[4];
    int s,j,d[4],ansnum;
    while(b[0]==0)
    {
        /*for(i=1;i<=3;i++)
        {
            cout << b[i]  << " ";
        }*/
        //cout << endl;
        memset(f,0,sizeof(f));
        s=0;
        for(i=1;i<=3;i++)
        {
            if (b[i]==1 || b[i]==0)
            {
                if (b[i-1]==3 || b[i-1]==2 || b[i+1]==3 || b[i+1]==2)
                {
                    s++;
                    d[s]=i;
                }
            }
        }
        while(f[0]==0)
        {
            for(i=1;i<=s;i++)
            {
                cout << f[i] << " ";
            }
            cout << endl;
            for(i=1;i<=4;i++) a1[i]=a[i];
            for(i=1;i<=3;i++) b1[i]=b[i];
            anum=4;bnum=3;
            for(i=1;i<=4;i++) ans[i]="";
            ansnum=0;
            j=1;
            while(j<=bnum)
            {
                if (f[j]==1)
                {
                    ansnum++;
                    ans[ansnum]=cha(a1[d[j]])+chaf(b1[d[j]])+chaf(a1[d[j]+1])+"=";
                    a1[d[j]]=cal(a1[d[j]],a1[d[j]+1],b1[d[j]]);
                    ans[ansnum]+=cha(a1[d[j]]);
                    gol('a',d[j]+1,anum);
                    anum--;
                    gol('b',d[j]+1,bnum);
                    bnum--;
                }
                j++;
            }
            j=1;
            //cout << anum  << " " << bnum << endl;
            while(j<=bnum)
            {
                if (b[j]==2 || b[j]==3)
                {
                    ansnum++;
                    ans[ansnum]=cha(a1[j])+chaf(b1[j])+chaf(a1[j+1])+"=";
                    a1[j]=cal(a1[j],a1[j+1],b1[j]);
                    ans[ansnum]+=cha(a1[j]);
                    gol('a',j+1,anum);
                    anum--;
                    gol('b',j+1,bnum);
                    bnum--;
                }
                j++;
            }
            //cout << anum  << " " << bnum << endl;
            j=1;
            while(j<=bnum)
            {
                ansnum++;
                ans[ansnum]=cha(a1[j])+chaf(b1[j])+chaf(a1[j+1])+"=";
                a1[j]=cal(a1[j],a1[j+1],b1[j]);
                ans[ansnum]+=cha(a1[j]);
                gol('a',j+1,anum);
                anum--;
                gol('b',j+1,bnum);
                bnum--;
            }
            //cout << anum  << " " << bnum << endl;
            //cout << a1[1] << endl;
            if (a1[1]==24)
            {
                for(j=1;j<=ansnum;j++)
                {
                    cout << ans[j] << endl;
                }
                return 0;
            }
            j=s;
            while(f[j]==1)
            {
                f[j]==0;
                j--;
            }
            f[j]=1;
        }
        //cout << "---------------\n";
        i=3;
        while(b[i]==3)
        {
            b[i]=0;
            i--;
        }
        b[i]++;
    }
}


#include <iostream>  
#include <string>  
#include <cmath>  
   
using namespace std;  
   
const  double  PRECISION = 1E-6;  
const  int  COUNT_OF_NUMBER  = 4;  
const  int  NUMBER_TO_BE_CAL = 24;  
double  number[COUNT_OF_NUMBER];  
string  expression[COUNT_OF_NUMBER];  
bool Judgement = false;                    //判断是否有解。
int count = 0;   
   
void  Search(int   n)  
{  
   if (n   ==   1)
   {  
     if ( fabs(number[0] - NUMBER_TO_BE_CAL) <= PRECISION   )  //对于除法,要小心小数的精确位数
     {  
     cout << expression[0] << "\t\t"; 
     Judgement = true;
     count ++;
     if((count % 3)==0)
     cout<<endl;
     }  
   else 
   { }
   
   }  
   
   for(int i=0;  i < n; i++)
    {
      for (int j = i + 1; j < n; j++)
    {  
       double   a,   b;  
       string   expa,   expb;  
       a   =   number[i];  
       b   =   number[j];  
       number[j]  =  number[n - 1];   //递归之后,n比以前小一位,所以可以不停向前赋值 
       expa   =   expression[i];  
       expb   =   expression[j];  
       expression[j]  =  expression[n - 1];   //递归之后,n比以前小一位,所以可以不停向前赋值
       expression[i]   =   '('   +   expa   +   '+'   +   expb   +   ')';   //加法不需要分顺序
       number[i]   =   a   +   b;  
       Search(n-1);
       expression[i]   =   '('   +   expa   +   '-'   +   expb   +   ')';   //减法应该分顺序,减数以及被减数
       number[i]   =   a   -   b;  
       Search(n-1); 
       expression[i]   =   '('   +   expb   +   '-'   +   expa   +   ')';   //减法应该分顺序,减数以及被减数
       number[i]   =   b   -   a;  
       Search(n-1); 
       expression[i]   =   '('   +   expa   +   '*'   +   expb   +   ')';   //乘法不需要分顺序
       number[i]   =   a   *   b;  
       Search(n-1); 
       if (b != 0)
      {  
         expression[i]   =   '('   +   expa   +   '/'   +   expb   +   ')';   //除法应该分顺序,除数以及被除数
         number[i] = a / b;  
         Search(n-1);  
      }    
       if (a != 0)
      {  
         expression[i]   =   '('   +   expb   +   '/'   +   expa   +   ')';   //除法应该分顺序,除数以及被除数
         number[i]   =   b  /  a;  
         Search(n-1);  
      }  
   
         number[i]   =   a;                  //这4句语句是为了防止如果上面几种可能都失败了的话,
         number[j]   =   b;                  //就把原来的赋值撤消回去,以无干扰的正确的进入到下一次
         expression[i]   =   expa;           //for循环队列中。
         expression[j]   =   expb;           //
      }  
    }
}  
   
int  main()  
{  
  cout<<"请依次输入4个数字:\n";
  for (int i = 0; i < COUNT_OF_NUMBER; i++) 
  {  
    char   buffer[20];   
    cout<<""<<i+1<<"个卡片:";
    cin   >>   number[i];                  
    itoa(number[i],   buffer,   10);   //itoa()函数的作用是把第一个参数(数值)传送到第二个参数(字符串)中去,第三个
               //参数(int型)是该数值在字符串里以什么进制存放。
    expression[i]   =   buffer;  
  }
  cout<<endl;
  Search(COUNT_OF_NUMBER) ;
  if(Judgement==true)
  {  
    cout   <<   "\n成功"   <<   endl;
    cout<<"所以可以计算的次数总和 = "<<count<<endl;
  }  
  else
  {  
    cout   <<   "失败"   <<   endl;  
  }       
  system("pause");
  return 0;
}
View Code

 https://www.cnblogs.com/hnrainll/archive/2011/04/21/2024089.html

 

 
 
 
posted @ 2019-03-25 15:48  JarvisLau  阅读(365)  评论(0编辑  收藏  举报