p转c++,求教

P1035 [NOIP2002 普及组] 级数求和

你好,首先n=n+1一般在C++中可以直接省略为n++,然后我想知道k=k-1/n是什么意思。
by linzhihan @ 2018-04-04 21:03:36


请先把格式用markdown弄好 ~~不然大家没心情看你代码的~~
by x义x @ 2018-04-04 21:04:07


```cpp include <iostream> using namespace std; int main() { int k,n=0; cin>>k; while (k>=0) { n=n+1; k=k-1/n; } cout<<n; return 0; } ```
by linzhihan @ 2018-04-04 21:06:09


``` #include <iostream> using namespace std; int main() { int k,n=0; cin>>k; while (k>=0) { ++n; k=k-1/n; } cout<<n; return 0; } ```
by da32s1da @ 2018-04-04 21:06:14


我帮忙整理好了。
by linzhihan @ 2018-04-04 21:06:23


来了个红名的大佬。
by linzhihan @ 2018-04-04 21:06:52


问题在于 ``` k=k-1/n ``` 中1/n这个运算它的参与操作的数1和n都是整型,c++和p不一样,c++的整数除法相当于pascal的div,只返回商,余数截掉。 所以当n>=2时,1/n都只能是0,k不会改变,当然也就是死循环tle。 解决办法是把k定义为double,把1/n改为1.0/n。
by x义x @ 2018-04-04 21:07:13


我找到问题所在了
by linzhihan @ 2018-04-04 21:07:17


我刚想回复。
by linzhihan @ 2018-04-04 21:07:31


Pas转C++?你是初二党吗?
by linzhihan @ 2018-04-04 21:08:27


| 下一页