【入门】级数求和
说明
已知:Sn=1+1/2+1/3+…+1/n。显然对于任意一个整数k,当n足够大的时候,Sn大于k。现给出一个整数k(1<=k<=15),要求计算出一个最小的n,使得Sn>k。
输入格式
一个整数k。
输出格式
一个整数n。
样例
输入数据 1
1
输出数据 1
2
不管用for还是while都可以,这次用的while,不管用哪种,结果都多了1,所没有办法就减1;
有其他方法还请多指教;
#include<iostream>
using namespace std;
int main()
{
int i=1,k=0;
double sn=0.0000000;
cin>>k;
while(sn<=k)
{
sn=sn+1.0/i;
i++;
}
cout<<i-1<<endl;
return 0;
}