谁可以帮忙看看问题出在哪了?显示RE

P1035 [NOIP2002 普及组] 级数求和

aaaa___ @ 2018-07-25 19:26:33

include<cstdio>

using namespace std; int main() { int n=0,t=0,k; double Sn; scanf("%d",k); while(Sn<=k) {

  ++n;
  t=1/n;
  Sn+=t;

} printf("%d",n); return 0; }


by aaaa___ @ 2018-07-29 22:19:23

@Alpha 还有就是我把循环里的t=1.0/n改成t=1/n就超时了 请问是为什么?


by Smile_Cindy @ 2018-07-30 09:26:45

@列王纷争 第一个问题: 区别在: scanf("%d",k); scanf("%d",&k); 变量前面要加取地址符 第二个问题: 1/n是整除,当n>1时结果是0,会陷入死循环 1.0/n是实数除法,结果不会是0;


上一页 |