#include <stdio.h> main() { int i=1,n=0,s=0; while(s<=10000) { s+=i; i=2*i; n++; } printf("s=%d,n=%d\n",s-i/2,n-1); } 为什么要s-i/2,这个程序的S应该没有多加
1 回答
慕用4063026
TA贡献195条经验 获得超115个赞
有点不明白你想问什么,我的理解:s-i/2是没问题的,如果直接s输出为s==16383,因为,最后一次s==8191时,
while(s<=10000)
{
s+=i;
i=2*i;
n++;
}
这个还要再循环一次,所以最后输出要s-i/2和n-1
- 1 回答
- 0 关注
- 1071 浏览
添加回答
举报
0/150
提交
取消