解题思路:用一个数组存储各个学生手中糖果的初始数量 用for循环对每个同学手中的糖果进行自身减半同时加上右边同学手中糖果的一半。
fun()函数是用来判断数组中的元素是否完全相等
注意事项:在计算最后一个同学的糖果时要事先保留好第一个同学的糖果数量
参考代码:
#include<iostream>
using namespace std;
int a[100];
int n;
int fun(int *a)
{
int flag=1;
int res=a[0];
for(int i=1;i<n;i++)
{
if(res!=a[i])return 0;
}
return flag;
}
int main()
{
cin>>n;
int count=0;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
while(fun(a)==0)
{
int start=a[0];
for(int i=0;i<n;i++)
{
if(i==n-1)a[i]=a[i]/2+start/2;
else a[i]=a[i]/2+a[i+1]/2;
}
for(int i=0;i<n;i++)
{
if(a[i]%2==1)
{
count++;
a[i]+=1;
}
}
}
cout<<count;
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1550 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:613 |
简单的a+b (C语言代码)浏览:564 |
wu-理财计划 (C++代码)浏览:907 |
DNA (C语言描述,数据结构)浏览:909 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:628 |
C语言程序设计教程(第三版)课后习题9.1 (C语言代码)浏览:710 |
关于C语言变量位置的问题浏览:294 |
A+B for Input-Output Practice (VII) (C语言代码)浏览:566 |
整除问题 (C语言代码)浏览:594 |