c语言习题,求大神指点!
1、10个小孩分糖果
十个小孩围成一圈分糖,老师给第一个小孩10块,第二个小孩2块,第三个小孩8块,第四个小孩22块,第五个小孩16块,第六个小孩4块,第七个小孩10块,第八个小孩6块,第九个小孩14块,第十个小孩20块,然后所有小孩同时将自己手中的一半分给右边的小孩,若是奇数可以问老师要一块,问经过几次调整之后大家手中糖一样多?每人手中有多少糖?
//十个小孩围成一圈分糖,老师给第一个小孩10块,第二个小孩2块,第三个小孩8块,第四个小孩22块,
//第五个小孩16块,第六个小孩4块,第七个小孩10块,第八个小孩6块,第九个小孩14块,第十个小孩20块,
//然后所有小孩同时将自己手中的一半分给右边的小孩,若是奇数可以问老师要一块,
//问经过几次调整之后大家手中糖一样多?每人手中有多少糖?
#include <stdio.h>
int n1[10]={10,2,8,22,16,4,10,6,14,20};
int n2[10];
int i,c,n;
int main() {
for (c=1;c<=1000;c++) {
for (i=0;i<9;i++) {
n2[i]=n1[i+1]/2+n1[i]/2;
}
n2[9]=n1[0]/2+n1[9]/2;
for (i=0;i<10;i++) {
if (n2[i]%2==1) n2[i]++;
n1[i]=n2[i];
}
n=n1[0];
for (i=1;i<10;i++) if (n!=n1[i]) break;
if (i>=10) break;
}
printf("%d,%d\n",c,n);
return 0;
}
//16,18
//