RT,大意是一群学生围成圈,然后把自己的一半給右边的同学,当糖果为奇数时老师给他一颗凑成偶数,
当所有人糖果数相同时结束,输出进行的次数和最后每人的糖果数
代码如下:
#include *本站禁止HTML标签噢*
using namespace std;
int a[1000];
int
【查看更多内容请登录哈】
foodszhu 发表于 2012-10-22 00:16 【链接登录后可见】
谢谢赏金啦。。。其实觉得你的作法也很好啊。。滚动数组相当于需要*2的空间。。不过是个很简单的思路。。。 ...
恩,上网看了下滚动数组。。。。
PS:社区的币不知道干什么好,没事就来悬赏呗@86-
谢谢赏金啦。。。其实觉得你的作法也很好啊。。滚动数组相当于需要*2的空间。。不过是个很简单的思路。。。
foodszhu 发表于 2012-10-21 19:50 【链接登录后可见】
如果改成for(i=0;i
“如果要用a=a/2+a[i-1]/2,每次都需要上一次的还未分出去的a[i-1]来算这一次的a,所以要用倒序"
是不是因为顺序的时候每次都会改变值,导致不是最开始输入的值,那么用个数组把
【查看更多内容请登录哈】
如果改成for(i=0;i<N;i++),访问a[i-1]时数组下标很明显是负数了。。
再者逻辑也不太对。。如果要用a=a/2+a[i-1]/2,每次都需要上一次的还未分出去的a[i-1]来算这一次的a,所以要用倒序。。。
如果一定要用顺序,可以在这样写:a[1000],a[n%2]=a[(n-1
【查看更多内容请登录哈】
刚刚发现改成for(i=0;i<N;i++)的话输出就错了
ApfelZaft 发表于 2012-10-21 17:30 【链接登录后可见】
猛的一看有一个比较明显的问题。。倒序循环改为正序的时候,你的计数器 i 的初始值试试看从1开始而不是0. ...
改成1好像还是不行啊
猛的一看有一个比较明显的问题。。倒序循环改为正序的时候,你的计数器 i 的初始值试试看从1开始而不是0.