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

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

筛选

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

##解题思路:首先输入的是糖果数n,利用数组a存放n个糖果,且都为偶数。将数组a中的糖果对半分,且存储到数组b中,此时数组a和b相加即为原来数组a中的糖果数,题目要求,给右边的人一半糖果即a[0]+=b[n-1],a[i]+=b[i-1]其中i是1~n,

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

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

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

简单说一下思路,这个题在换糖的时候有点难度,换糖是所有人同时进行,所以第一个人和最后一个人可能会有点特殊,我们单独拿出来另算,我首先糖果存入一个数组当中,然后换糖的次数是与人数相等的,一个确定次数的循环,我用了一个布尔类型的标识符,经过换和补之后进行判断,