C语言 · 分糖果
每个小朋友都把自己的糖果分一半给左手边的孩子。
一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。
反复进行这个游戏,直到所有小朋友的糖果数都相同为止。
你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。
接着是一行用空格分开的N个偶数(每个偶数不大于1000,不小于2)
2 2 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语言 · 分糖果相关推荐
- 洛谷刷题C语言:潇湘の雨、分糖果、Addition、Ljeto、TRI
记录洛谷刷题C语言QAQ 「PMOI-0」潇湘の雨 题目背景 (原 LZOI-1,改名已经 PMOI 成员同意) lhm-01 题目描述 言琢დ 在一个 2n×2n2n \times 2n2n×2n ...
- 三人分糖果c语言,C语言顺序结构
-C语言桐桐分糖果问题(附带源码)
妈妈给了桐桐一盒糖果,第一天桐桐分糖果的一半给弟弟,自己吃了 5 颗:第二天有好朋友悦悦来家里玩,桐桐又把剩下的糖果分一半给悦悦,自己吃了 4 颗:第三天桐桐吃了剩下的糖果的一半还多 1 颗后,数了数 ...
- 信息学奥赛C++语言:分糖果
[题目描述] 某幼儿园里,有5个小朋友编号为1,2,3,4,5,他们按自己的编号顺序围坐在一张圆桌旁.他们身上都有若干个糖果(键盘输入),现在他们做一个分糖果游戏.从1号小朋友开始,将自己的糖果均分三 ...
- 浙大版《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号 ...
- c语言20人分糖果,C语言实例 10个小孩分糖果
十个小孩围成一圈分糖果,老师分给第一个小孩10块,第二个小孩2块,第三个小孩8块,第四个小孩22块,第五个小孩16块,第六个小孩4块,第七个小孩10块,第八个小孩6块,第九个小孩14块,第十个小孩20 ...
- c语言10个小孩分糖果问题,数的变幻(十个小孩分糖果)
/**************************************** * File Name : figure.c * Creat Data : 2015.1.29 * Author : ...
- C语言:分糖果问题 10个小孩围成一圈分糖果
分糖果 10个小孩围成一圈分糖果,老师顺次分给每个人的糖数为12 2 8 22 16 4 10 6 14 20. 然后按下列规则进行调整,所有小孩同时把自己的糖果分一半给右边的小孩,糖块数变奇数的人, ...
- LeetCode简单题之分糖果 II
题目 排排坐,分糖果. 我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友. 给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小 ...
- 贪心算法简单实践 -- 分糖果、钱币找零、最多区间覆盖、哈夫曼编解码
1. 贪心算法概览 贪心算法是一种算法思想.希望能够满足限制的情况下将期望值最大化.比如:Huffman编码,Dijkstra单源最短路径问题,Kruskal最小生成树 等问题都希望满足限制的情况下用 ...
最新文章
- 深度学习指数的使用——np.exp(-4)和1e-4的区别
- Python(Dict和Set类型)
- 简单的HBase实践
- Mysql 查询一天中每半小时记录的数量
- ES6中的新特性:Iterables和iterators
- ASP.NET获取路径的方法
- LeetCode 838. 推多米诺(模拟)
- 技术动态 | 清华大学开源OpenKE:知识表示学习平台
- 图解算法之排序算法(2)——选择排序
- 父母延长退休,作为程序员的我光荣失业
- JS判断浏览器类型与版本
- 使用enum建立简单的状态机
- Android中Xml工具类的封装
- unity4.6 failed to update unity web player
- linux 蓝牙测试程序下载,Linux下蓝牙测试软件包和命令介绍
- 前端架构之 React 领域驱动设计
- Docker Redis远程主机强迫关闭了一个现有的连接
- 帆软使用技巧之使用填报报表
- HaaS学习笔记 | 阿里云物联网平台的产品和设备创建明细教程
- solidworks实体转化的前提条件与技巧