#includeusing namespace std; int a[100]={0}; //判断所有小朋友的糖果数是否相等 bool CandyIsSame(int a[],int n) { for(int i=1;i >n; for(int i=0;i >a[i]; int numberOfCandy=0;//老师补给的糖果数 while(CandyIsSame(a,n)==false)//每个小朋友的糖果数不相等,继续游戏 { //从第n-1个小朋友开始计算分配后的个数 int beforeHalf=a[0];//记录上一位小朋友分配前的糖果数,从n-1位开始,初始化为a[0] for(int i=n-1;i>=0;--i) { int now=a[i]/2+beforeHalf/2;//自己糖果数的一半加上上一位的一半 beforeHalf=a[i];//在赋值前更新 if(judgeCandyNum(now)==true)//分配后为奇数就补给一颗 { numberOfCandy++; a[i]=now+1; } else a[i]=now; } } cout<



