logo
预览版
标准版
您当前访问的是 喵宅苑 MewoGarden × 技术宅II 预览版网页,若要正常使用功能请戳我前往标准版
帖子对应的标准版页面请点击帖子下方[→标准版]按钮
雪怪x

RT,大意是一群学生围成圈,然后把自己的一半給右边的同学,当糖果为奇数时老师给他一颗凑成偶数,

当所有人糖果数相同时结束,输出进行的次数和最后每人的糖果数

代码如下:

#include *本站禁止HTML标签噢*

using namespace std;

int a[1000];

int

【查看更多内容请登录哈】

雪怪x

foodszhu 发表于 2012-10-22 00:16 【链接登录后可见】

谢谢赏金啦。。。其实觉得你的作法也很好啊。。滚动数组相当于需要*2的空间。。不过是个很简单的思路。。。 ...

恩,上网看了下滚动数组。。。。

PS:社区的币不知道干什么好,没事就来悬赏呗@86-

foodszhu

谢谢赏金啦。。。其实觉得你的作法也很好啊。。滚动数组相当于需要*2的空间。。不过是个很简单的思路。。。

雪怪x

foodszhu 发表于 2012-10-21 19:50 【链接登录后可见】

如果改成for(i=0;i

“如果要用a=a/2+a[i-1]/2,每次都需要上一次的还未分出去的a[i-1]来算这一次的a,所以要用倒序"

是不是因为顺序的时候每次都会改变值,导致不是最开始输入的值,那么用个数组把

【查看更多内容请登录哈】

foodszhu

如果改成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

【查看更多内容请登录哈】

雪怪x

刚刚发现改成for(i=0;i<N;i++)的话输出就错了

雪怪x

ApfelZaft 发表于 2012-10-21 17:30 【链接登录后可见】

猛的一看有一个比较明显的问题。。倒序循环改为正序的时候,你的计数器 i 的初始值试试看从1开始而不是0. ...

改成1好像还是不行啊

ApfelZaft

猛的一看有一个比较明显的问题。。倒序循环改为正序的时候,你的计数器 i 的初始值试试看从1开始而不是0.