基础练习:1087:级数求和

1087:级数求和
【题目描述】
已知:Sn=1+12+13+…+1n。显然对于任意一个整数k,当n足够大的时候,Sn大于k。现给出一个整数k(1≤k≤15),要求计算出一个最小的n,使得Sn>k。
【输入】
一个整数k。
【输出】
一个整数n。
【输入样例】
1
【输出样例】
2

#include<iostream>
using namespace std;
int main()
{   int k;
    cin>>k;
    double Sn=0;
    int i=0;
    while(Sn<=k)
        {i++;
		Sn+=1.0/i;                    //注意double型中1.0和1的区别
	}
	cout<<i<<endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_43886420/article/details/85048142