友情提示:380元/半年,儿童学编程,就上码丁实验室。
题目描述
已知:Sn=1+1/2+1/3+…+1/n
显然对于任意一个整数K,当n足够大的时候,Sn > K
现给出一个整数K(1≤k≤15),要求计算出一个最小的n;使得K
输入输出格式
输入格式:
一个正整数K
输出格式:
一个正整数N
输入输出样例
输入样例#1:
1
输出样例#1:
2
注解:
在做这道题的时候要注意,整数除以整数的结果仍然是整数,所以1除以任意非零整数的结果为0。
如果声明n为int类型,需要把S=S+1/n 写成 S=S+1.0/n。
代码:
using namespace std;
int main(){
int K, n=1;
double S=1;
cin >> K;
while(S<=K){
n++;
S += 1.0/n;
}
cout << n;
return 0;
}