热门

最新

红包

立Flag

投票

同城

我的

发布
m0_55715595
m0_55715595
4 年前
truem0_55715595

跪求C#短信接口源码,加接口平台,有视频教学最好,万分感谢

CSDN App 扫码分享
分享
评论
点赞
打赏
  • 复制链接
  • 举报
下一条:
错过的题:有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。 反复进行这个游戏,直到所有小朋友的糖果数都相同为止。 你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。 代码:#include <stdio.h>#define MAX 101int main(){ int n, ans = 0, temp, candy[MAX];; scanf("%d", &n); for(int i = 0; i < n; i++){ scanf("%d", &candy[i]); } while(1){ //判断是否全部相等 int x = 0; for(int i = 1; i < n; i++){ if(candy[0] != candy[i]){ x++; } } if(x == 0){ break; } //所有元素减半 for(int i = 0; i < n; i++){ candy[i] /= 2; } //向左边分一半糖果 temp = candy[n - 1]; for(int i = n - 1; i > 0; i--){ candy[i] += candy[i - 1]; } candy[0] += temp; //计算补发多少糖果 for(int i = 0; i < n; i++){ if(candy[i] % 2 != 0){ candy[i] += 1; ans++; } } } printf("%d", ans);} 原因:int x = 0定义在while里每次循环都会给x赋值为0,但定义在外面只会赋值一次
立即登录