解题思路:
注意事项:
参考代码:
#include<stdio.h>
int main()
{
int n,c=0,i,f;
int a[100],b[100];//用a[i]来表示糖果数
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
while(1)
{
f=1;//所有数一样的标志
for(i=1;i<=n;i++)
{
a[i]=a[i]/2;//分一半
b[i]=a[i];//b[i]为分出来的糖果数
}
b[0]=b[n];//将最后一个人分出的糖果数放在最前面,以便后面计算
for(i=1;i<=n;i++)
{
a[i]+=b[i-1];
}
for(i=1;i<=n;i++)
{
if(a[i]%2!=0)
{
a[i]+=1;
c++;
}
}
for(i=1;i<n;i++)
{
if(a[1]!=a[i+1])
f=0;
}
if(f==1)
break;
}
printf("%d",c);
}
0.0分
0 人评分
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:696 |
C二级辅导-公约公倍 (C语言代码)浏览:1509 |
1157题解浏览:715 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:1918 |
DNA (C语言代码)浏览:749 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:459 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:526 |
三进制小数 (C语言代码)浏览:836 |
Manchester-汽水瓶问题浏览:4161 |
WU-蛇行矩阵 (C++代码)浏览:638 |