题解 1431: 蓝桥杯2014年第五届真题-分糖果

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

蓝桥杯2014年第五届真题-分糖果-题解(C++代码)

解题思路:基本思路是采用两个数组,一个存放输入的初始数组a[105],一个存放初始数组的一半b[105]。当然,a和b数组的值会一直更新。因为题目是把糖果给左边的小孩,所以就相当于在b数组中存放的数据对于a数组来说是整体向左移动一格。这意味着循环的时候,可以从1开始,而非从0开始。

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

题目描述问题描述有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:每个小朋友都把自己的糖果分一半给左手边的孩子。一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。反复进行这个游戏,直到所有小朋友的糖果数都相同为止。

分糖果-通俗的方法(C++代码)

#####分析首先显而易见的是,allo()函数分析是否所有小朋友的糖都一样了,如果一样返回true。首先要注意的是,当小朋友的糖交出去过后,自己的糖也**减了一半**,记得除2。还有一个问题是while()循环若想要无限循环,括号中应要有参数,

蓝桥杯2014年第五届真题-分糖果-题解(循环链表解法)

#1431:[蓝桥杯][2014年第五届真题]分糖果--循环链表解法**使用循环链表来解决分糖果问题,易于理解。按照题意,可以模拟整个游戏过程(详见game()函数)**```cpp//循环链表解法#include//链表结点structnode{intdata;node*next;};//全局变量i