本题目涉及分数,也就是精度问题,如果把Sn设置成int型,则会丢失数据。代码如下:```cpp
#include<iostream> using namespace std; main(){ int k; double sn=0,n=0; cin>>k; for(;;sn+=1/n){ if(sn>k)break; else n+=1; } cout<<n; return 0; }