为什么这个不输出啊?

P1035 [NOIP2002 普及组] 级数求和

@[Z18821938825](/user/1227116) 1是 `int` 类型的,$i$ 也是 `int` 类型的,所以 `1/i` 的计算结果为 $0$,所以 $s$ 永远为 $0$,所以没有输出。
by zhouzihang1 @ 2024-02-04 20:23:17


你的代码想要输出就需要s>=1, s每次循环都等于s+1/i,这里会先算1/i,i>=1,所以1/i=0,s永远不会增加,所以不会输出
by 0v_0___SYC @ 2024-02-04 20:37:27


一搜解决这个问题s应该是**double**型的
by 0v_0___SYC @ 2024-02-04 20:39:00


并且i的前面要加(double)
by 0v_0___SYC @ 2024-02-04 20:39:36


请问一下提问的时候怎么标记代码
by djtbsq @ 2024-02-06 15:08:53


``` print("这是代码") ``` 格式:\``` [输入内容] \```
by Wuhongyi17 @ 2024-02-08 02:43:25


```cpp #include<bits/stdc++.h> using namespace std; int main(){ int k,s=0; //把这里的int改为float cin>>k; for(int i=1;;i++){ s=s+1/i; //可以改为 s+=1.0/i if(s>k){ cout<<i; return false; } } return 0; } ``` 主要是整形和浮点型的问题
by Wuhongyi17 @ 2024-02-08 02:53:12


|