/*本题每空5分,共15分。 程序填空题目要求: 十个小孩围成一圈分糖果,老师分给第一个小孩10块
第三个小孩8块,第四个小孩22块,第五个小孩16块,第六个小孩4块,第七个小孩10块,第八个小孩6块,第九个小孩14块,第十个小孩20块。然后所有的小孩同时将自己手中的糖...
第三个小孩8块,第四个小孩22块,第五个小孩16块,第六个小孩4块,
第七个小孩10块,第八个小孩6块,第九个小孩14块,第十个小孩20块。
然后所有的小孩同时将自己手中的糖分一半给左边的小孩;糖块数为奇
数的人可向老师要一块。问经过这样几次调整后大家手中的糖的块数都
一样?每人各有多少块糖?
#include <stdio.h>
main()
{
int i,count=0,a[11]={0,10,2,8,22,16,4,10,6,14,20};
/******found*****/
while(1)
{
for(i=1;i<=10;i++)
a[i-1]=a[i-1]/2+a[i]/2;
a[10]=a[10]/2+a[0];
for(i=1;i<=10;i++)
/******found*****/
if(a[i]%2=1)
a[i]++;
for(i=1;i<10;i++)
/******found*****/
if(a[i]!=a[i+1])
(3 );
if(i==10)
break;
else
{
a[0]=0;
count++;
}
}
printf("count=%d number=%d\n",count,a[1]);
} 展开
第七个小孩10块,第八个小孩6块,第九个小孩14块,第十个小孩20块。
然后所有的小孩同时将自己手中的糖分一半给左边的小孩;糖块数为奇
数的人可向老师要一块。问经过这样几次调整后大家手中的糖的块数都
一样?每人各有多少块糖?
#include <stdio.h>
main()
{
int i,count=0,a[11]={0,10,2,8,22,16,4,10,6,14,20};
/******found*****/
while(1)
{
for(i=1;i<=10;i++)
a[i-1]=a[i-1]/2+a[i]/2;
a[10]=a[10]/2+a[0];
for(i=1;i<=10;i++)
/******found*****/
if(a[i]%2=1)
a[i]++;
for(i=1;i<10;i++)
/******found*****/
if(a[i]!=a[i+1])
(3 );
if(i==10)
break;
else
{
a[0]=0;
count++;
}
}
printf("count=%d number=%d\n",count,a[1]);
} 展开
3个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询