#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;
}
#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;
}
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
以上上机测试通过。
问题如果解决,麻烦点下我回答右边的采纳,谢谢