历届试题 分糖果  
时间限制:1.0s   内存限制:256.0MB
问题描述
有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:

  每个小朋友都把自己的糖果分一半给左手边的孩子。

  一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。

  反复进行这个游戏,直到所有小朋友的糖果数都相同为止。

  你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。

输入格式
程序首先读入一个整数N(2<N<100),表示小朋友的人数。
  接着是一行用空格分开的N个偶数(每个偶数不大于1000,不小于2)
输出格式
要求程序输出一个整数,表示老师需要补发的糖果数。
样例输入
3
2 2 4
样例输出
4

 1 #include<stdio.h>
 2 int main(){
 3     int i,N,a[100];
 4     int answer=0;//计数器
 5     scanf("%d",&N);
 6     for(i=0;i<N;i++){
 7         scanf("%d",&a[i]);
 8     }
 9     while(1){
10         //若小朋友的糖果数相等,结束
11         for(i=1;i<N;i++)
12         {
13             if(a[i]!=a[0])
14                 break;
15         }
16         if(i==N)//检查到最后一位,结束
17             break;
18         /*分给左手边一半*/
19         int num=a[0];
20         for(i=0;i<N-1;i++){
21             a[i] = (a[i]+a[i+1])/2;
22         }
23         a[i]=(a[i]+num)/2;
24         /*奇数补充为偶数*/
25         for(i=0;i<N;i++){
26             if(a[i]%2!=0){
27                 a[i]++;
28                 answer++;//计数器自增
29             }
30         }
31     }
32     printf("%d",answer);
33 }

C语言 · 分糖果相关推荐

  1. 洛谷刷题C语言:潇湘の雨、分糖果、Addition、Ljeto、TRI

    记录洛谷刷题C语言QAQ 「PMOI-0」潇湘の雨 题目背景 (原 LZOI-1,改名已经 PMOI 成员同意) lhm-01 题目描述 言琢დ 在一个 2n×2n2n \times 2n2n×2n ...

  2. 三人分糖果c语言,C语言顺序结构 -C语言桐桐分糖果问题(附带源码)

    妈妈给了桐桐一盒糖果,第一天桐桐分糖果的一半给弟弟,自己吃了 5 颗:第二天有好朋友悦悦来家里玩,桐桐又把剩下的糖果分一半给悦悦,自己吃了 4 颗:第三天桐桐吃了剩下的糖果的一半还多 1 颗后,数了数 ...

  3. 信息学奥赛C++语言:分糖果

    [题目描述] 某幼儿园里,有5个小朋友编号为1,2,3,4,5,他们按自己的编号顺序围坐在一张圆桌旁.他们身上都有若干个糖果(键盘输入),现在他们做一个分糖果游戏.从1号小朋友开始,将自己的糖果均分三 ...

  4. 浙大版《C语言程序设计实验与习题指导(第4版)》题目集-编程题-实验2-2-6 3人分糖果 (5分)

    #include<stdio.h> int main() {int a=8,b=9,c=10;/*1号小朋友分糖果*/a/=3;/*2 3 号小朋友获得糖果*/b+=a;c+=a;/*2号 ...

  5. c语言20人分糖果,C语言实例 10个小孩分糖果

    十个小孩围成一圈分糖果,老师分给第一个小孩10块,第二个小孩2块,第三个小孩8块,第四个小孩22块,第五个小孩16块,第六个小孩4块,第七个小孩10块,第八个小孩6块,第九个小孩14块,第十个小孩20 ...

  6. c语言10个小孩分糖果问题,数的变幻(十个小孩分糖果)

    /**************************************** * File Name : figure.c * Creat Data : 2015.1.29 * Author : ...

  7. C语言:分糖果问题 10个小孩围成一圈分糖果

    分糖果 10个小孩围成一圈分糖果,老师顺次分给每个人的糖数为12 2 8 22 16 4 10 6 14 20. 然后按下列规则进行调整,所有小孩同时把自己的糖果分一半给右边的小孩,糖块数变奇数的人, ...

  8. LeetCode简单题之分糖果 II

    题目 排排坐,分糖果. 我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友. 给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小 ...

  9. 贪心算法简单实践 -- 分糖果、钱币找零、最多区间覆盖、哈夫曼编解码

    1. 贪心算法概览 贪心算法是一种算法思想.希望能够满足限制的情况下将期望值最大化.比如:Huffman编码,Dijkstra单源最短路径问题,Kruskal最小生成树 等问题都希望满足限制的情况下用 ...

最新文章

  1. 深度学习指数的使用——np.exp(-4)和1e-4的区别
  2. Python(Dict和Set类型)
  3. 简单的HBase实践
  4. Mysql 查询一天中每半小时记录的数量
  5. ES6中的新特性:Iterables和iterators
  6. ASP.NET获取路径的方法
  7. LeetCode 838. 推多米诺(模拟)
  8. 技术动态 | 清华大学开源OpenKE:知识表示学习平台
  9. 图解算法之排序算法(2)——选择排序
  10. 父母延长退休,作为程序员的我光荣失业
  11. JS判断浏览器类型与版本
  12. 使用enum建立简单的状态机
  13. Android中Xml工具类的封装
  14. unity4.6 failed to update unity web player
  15. linux 蓝牙测试程序下载,Linux下蓝牙测试软件包和命令介绍
  16. 前端架构之 React 领域驱动设计
  17. Docker Redis远程主机强迫关闭了一个现有的连接
  18. 帆软使用技巧之使用填报报表
  19. HaaS学习笔记 | 阿里云物联网平台的产品和设备创建明细教程
  20. solidworks实体转化的前提条件与技巧

热门文章

  1. 机器学习--线性回归(原理与例子)
  2. 虚拟现实技术的发展和分类
  3. 二次元妹子五官画风都能改,周博磊团队用无监督方法控制GAN | CVPR 2021
  4. 为了杀蚊子,这位博士用树莓派DIY了一把激光枪,网友:伤到人怎么办?
  5. 马斯克因何财报会议怒爆粗口?明明是史上最佳Q1业绩,股价还一度大涨10%
  6. 快速学习正则表达式,不用死记硬背,这里有份中文资源和互动学习网站
  7. 隔空操控iPhone!苹果新获悬停手势专利
  8. CentOS安装和配置Mysql
  9. JVM(2)之 JAVA堆
  10. Node.js静态文件服务器实战[转]