蓝桥杯2014年第五届真题-分糖果(C语言)

蓝桥杯——分糖果 问题描述  有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:  每个小朋友都把自己的糖果分一半给左手边的孩子。  一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。  反复进行这个游戏,直到所有小朋友的糖果数都相同为止。  你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。输入格式  程序首先读入一个整数N(2  接着是一行用空格分开的N 阅读详情

题目描述

有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:

每个小朋友都把自己的糖果分一半给左手边的孩子。
一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。
反复进行这个游戏,直到所有小朋友的糖果数都相同为止。
你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。

输入格式

程序首先读入一个整数N(2< N< 100),表示小朋友的人数。 
接着是一行用空格分开的N个偶数(每个偶数不大于1000,不小于2) 

输出格式

要求程序输出一个整数,表示老师需要补发的糖果数。

样例输入

3 
2 2 4 

样例输出

4

分析

首先要记录上一个人分出的糖果数和这一个人分出的糖果数,得到两个数据之后再对当前糖果数进行分配,同时记录添加的数量

#include<stdio.h>

int CandyEnd(int* a,int n) {//判断所有人糖果数相同
	for (int i = 1;i < n;i++) {
		if (a[i - 1] != a[i])
			return 0;
	}
	return 1;
}

int main() {
	int n,i;
	scanf("%d", &n);
	int a[100];
	for (i = 0;i < n;i++) {
		scanf("%d", &a[i]);
	}
	int candy2 = 0;//老师补发的糖果数
	int CandyLeft = 0;//上一位分出的一半糖果
	int CandyRight = 0;//这位分的糖果

	while (!CandyEnd(a, n)) {
		CandyLeft = a[n-1]/2;//初始化
		CandyRight = a[0] / 2;

		for (i = 0;i < n;i++) {//分发糖果,判断奇偶,添加糖果
			CandyRight = a[i] / 2;
			a[i] = a[i] / 2 + CandyLeft;
			CandyLeft = CandyRight;
			if (a[i] % 2) {
				a[i]++;
				candy2++;//补发的糖果
			}
				
		}
	}

	printf("%d\n", candy2);

	return 0;


}

随笔:蓝桥杯——分糖果 问题: 问题描述: 有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。 反复进行这个游戏,直到所有小朋友的糖果数都相同为止。 你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。 输入格式 程序首先读入一个整数N(2&lt;N&lt;10... 阅读详情

相关推荐

C语言分糖果

有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。 反复进行这个游戏,直到所有小朋友的糖果数都相同为止。 你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。

北北北 1812

49 题目 1431: [蓝桥杯][2014年第五届真题]分糖果

题目 1431: [蓝桥杯][2014年第五届真题]分糖果 时间限制: 1Sec 内存限制: 128MB 提交: 5807 解决: 2969 题目描述 问题描述 有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。 反复进行这个游戏,直到所有小朋友的糖果数都相同为止。 你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。 输入 程序首先读入一个整数N(2

韩绘锦的博客 1167

蓝桥杯题解

这是新手上路的第一篇,对于第一次见这个题的同学希望可以有些帮助,而做过的朋友你们也可以提一提对这篇内容以及对题解思路的提升的意见。虽然这篇内容的真题可能已经很久远的,见烂了,但是还是希望对于所需的同学一些帮助吧。这个题目在官网上只属于简单题的类型,所以做会这一道后还是需要继续努力的。以后的时间都会在这上面分享自己对于真题的思路和代码。还是那句话,希望这个内容可以提供一些帮助。

qq_62859822的博客 696

【蓝桥杯题解】分糖果 (模拟)

🌟一、题目 🌟二、思路 🌟三、C++代码

Remember who you are! 1265

【蓝桥杯真题】分糖果问题解决方法

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。问题描述有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:每个小朋友...

算法与编程之美 3609

2014年 第5届 蓝桥杯 Java B组 省赛解析及总结

01 武功秘籍 书的构造方式,思维题 02 切面条 发现规律,思维题 03 猜字母 数组中元素的挪动和挤压 04 大衍数列 考察奇偶数判断 05 圆周率 细心,极限思维 06 奇怪的分式 枚举abcd,分数运算,最大公约数 07 扑克排序 带重复元素的全排列 08 分糖果 模拟 **09 地宫取宝 搜索->记忆型递归,因为子问题重复求解 ****10 矩阵翻硬币 数学;字符,字符串,BigInteger的互相转化

upward 3504

分糖果游戏c语言程序设计,[蓝桥杯][2014年第五届真题]分糖果 (C语言代码)每一步都很详细,适合小白看。...

解题思路:1.根据题目给的数据范围先定义一个大小为101的数组,用于存放小朋友的糖果数。count定义为老师需要补发的糖数,初始为0,flag为判断是否所有小朋友糖数都相等的标志,初始时不相等,flag=0。2.依次输入N,以及其他数据,把a[0]看成一个类似缓冲区的东西,暂时储存数据。a[i]为第i个小朋友。3.首先假设flag初始为0,即现在每人糖数不相等,需要进行以下操作进行重新分配。(即使...

weixin_35456031的博客 1623

望获实时Linux与国产芯片协同:打造LinuxCNC数控机床的全栈国产化方案

本文探讨了如何通过望获实时Linux与飞腾、龙芯等国产芯片的深度协同,为LinuxCNC数控机床打造全栈国产化方案。望获实时Linux通过中断隔离等核心技术,提供亚微秒级确定性响应,解决了传统Linux系统实时性不足的痛点,使LinuxCNC得以稳定驱动高精度机床。该方案实现了从硬件、操作系统到应用软件的全栈自主可控,为工业控制领域提供了高性能、可定制的国产化选择。

weixin_29291069的博客 647

c语言网-1431-[蓝桥杯][2014年第五届真题]分糖果

题目描述 问题描述 有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。 反复进行这个游戏,直到所有小朋友的糖果数都相同为止。 你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。 输入 程序首先读入一个整数N(2&lt; N&lt; 10...

ljh9640的博客 374

NXP S32K3xx 多次复位(reset)后MCU跑死、崩溃、出错分析

s32k3出现多次复位后死机的情况

HeFlyYoung的博客 9513

Cursor锁机了怎么办?实测这个开源插件帮你无限“续杯”,附详细安装与防踩坑指南

本文提供了Cursor锁机问题的详细解决方案,包括使用开源插件`cursor-fake-machine`修改机器标识、锁定配置文件权限以及优化使用规范。同时介绍了如何利用Cursor开发油猴脚本将微信公众号文章高效转换为Markdown格式,提升内容创作效率。

weixin_26805597的博客 766

分糖果游戏c语言程序设计,[蓝桥杯][2014年第五届真题]分糖果-题解(C语言代码)...

## 解题思路:首先输入的是糖果数n,利用数组a存放n个糖果,且都为偶数。将数组a中的糖果对半分,且存储到数组b中,此时数组a和b相加即为原来数组a中的糖果数,题目要求,给右边的人一半糖果即a[0]+=b[n-1],a[i]+=b[i-1]其中i是1~n,进行第一次交换,循环搜索,如果数组a中的元素都相等结束循环,即三个数相等0次交换即可得出最终解,继续循环如果数组不能被2整除就加上1,给糖果次数...

weixin_34030345的博客 861

Hierarchical Flow Partition(Top-down&&Bottom-up)

hierarchy flow是将设计切分成多个block,分别处理单个block,然后完成后,将它们进行拼接以完成最终的chip。一般划分为三个阶段:chip planning;physical budget就是pin assignmenthierarchy flow实现的方法有两种,一种是top-down,另一种是bottom-up,无论是哪种,都是都要通过flatten的方法分别全局范围进行优化实现。

qq_39493558的博客 3062

【蓝桥杯】2014年第五届真题-分糖果

细节上注意:用指针创建candy数组时需要分配空间(如果不分配,在vscode不会出错,但是在dotcpp的在线测试平台会报段错误);在give_half函数中在改变candy数组前先copy。

m0_62300518的博客 174

【箱子之字形摆放】python实现-附ChatGPT解析

箱子之形摆放有一批箱子(形式为宁符串,设为str) ,要求将这批箱子按以之形的顺序摆放在宽度为n的空地,请输出箱子的摆放结果。例如:箱子为ABCDEFG,空地宽度为3,摆放结果如图:则输出结果为:AFGBECD输入一行字符串,通过空格分制,前面部分为字母或数字组成的字符串str,表示;后面部分为一个数字n,表示。ABCDEFG 3箱子摆放结果,如题目示例所示AFGBECD。

sinat_29950703的博客 370

27、物联网中的量子密钥分发:安全通信新范式

本文探讨了物联网(IoT)快速发展所带来的安全挑战,并提出量子密钥分发(QKD)作为应对新兴威胁的新范式。文章详细介绍了QKD的基础原理、BB84协议的实现流程以及其在物联网中的应用前景,同时强调了安全专业人员提升技能、制定标准化指南以及跨学科合作的重要性。通过利用量子力学特性,QKD能够提供更高的通信安全性,抵御量子计算等未来威胁,为物联网的安全发展提供保障。

tequila的博客 155

[蓝桥杯][2014年第五届真题]分糖果

[蓝桥杯][2014年第五届真题]分糖果 题目描述 问题描述 有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。 反复进行这个游戏,直到所有小朋友的糖果数都相同为止。 你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。 输入 程序首先读入一个整数N(2< N< 100),表示小朋友的人数。 接着是一行用空格分开的N个偶数(每个偶数不大于10

qq_43649799的博客 259

PCL 三维重建 泊松曲面重建算法

本文介绍了基于泊松曲面重建算法的三维重建过程。泊松重建是一种利用点云数据生成三维表面的算法,它基于点云的法线估计和泊松方程的求解,能够生成光滑且连续的曲面模型。该方法适用于复杂形状和细节的表面重建。

纵马踏花向自由 1086

C语言编程题:(C语言)分糖果 通俗易懂

C语言分糖果

m0_60988705的博客 5583

openlayers:实现在连续更改时间维度时如何平滑地重新加载层 (附完整源码)

openlayers:实现在连续更改时间维度时如何平滑地重新加载层 (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 346

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【蓝桥杯】蓝桥杯2014年第五届真题-分糖果java

本题解就是在判断所有小朋友手中的糖果数目是否相同的时候用了一个Set去重,然后判断set的长度是否为1,其它地方和网上的题解大致相仿,不再赘述。 蓝桥杯2014年第五届真题-分糖果 时间限制: 1Sec 内存限制: 128MB 提交: 12696 解决: 6352 题目描述 有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。 反复进行这个游戏...

m0_47352999的博客 316

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

蓝桥杯2014年第五届真题-分糖果(模拟)

蓝桥杯2014年第五届真题-分糖果 题目描述 输入要求 输出要求 样例输入输出 解题思路: 采用函数式编程的思想,要解决问题应当有两个子操作:一个是要让每个小朋友将自己一半的糖果分给左手边的小朋友;另一个 是让老师给每次给奇数个糖果的小朋友再分一个糖果。循环上述两个操作,直到每个小朋友的糖果数相等为止,对应函数judge来判断。代码如下: #include<bits/stdc++.h> using namespace std; #define maxn 105 int a[maxn]

m0_52246399的博客 253

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【蓝桥杯】2014年第五届蓝桥杯省赛真题-Java语言B组-8-分糖果(历届试题 分糖果)

分析: 用数组存储小朋友的糖果数。循环模拟分一半糖果给左边小朋友,奇数糖果数又老师补发一颗的过程,直到小朋友的 糖果数量相等。 注意数组首尾的处理。 代码实现: import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(Sy...

allyyhh的博客 498

蓝桥杯2013-2019省赛七届真题一览-JavaB组

蓝桥杯2013-2019省赛七届赛真题一览-JavaB组 包含7年所有的省赛真题解析以及试题分析,值得收藏备赛!

ATFWUS的博客 5万+
上一篇: 计算两个日期之间的天数(c语言)
下一篇: 蓝桥杯2013年第四届真题-剪格子(C语言)
Ehell
博客等级 码龄4年 23粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值