#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 回答
猛跑小豬
TA貢獻1858條經驗 獲得超8個贊
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 關注
- 670 瀏覽
添加回答
舉報
0/150
提交
取消
