#include using namespace std;int main(){int n = 1,limit;double sum = 0;cin >> limit ;while (sum <= limit){sum += 1/n;n++;}cout << "n=" << n<<"sum="<<sum ; return 0;}
2 回答
Cats萌萌
TA贡献1805条经验 获得超9个赞
sum += 1/n;
这里是整除
应该是
sum += 1.0/(double)n;
还有
double sum = 0;
这里分号是全角的
另外似乎sum是收敛的,所以输入limit不能很大
完整程序
#include <iostream> using namespace std; int main() { int n = 1,limit; double sum = 0; cin >> limit ; while (sum <= limit) { sum += 1.0/(double)n; n++; } cout << "n=" << n<<",sum="<<sum ; return 0; }
你输入一个10,输出
n=12368,sum=10
以上上机测试通过。
- 2 回答
- 0 关注
- 550 浏览
添加回答
举报
0/150
提交
取消