1. 程式人生 > >基礎練習:1087:級數求和

基礎練習: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;
}