题目描述
已知:S_n= 1+1/2+1/3+…+1/nS
n
=1+1/2+1/3+…+1/n。显然对于任意一个整数KK,当nn足够大的时候,S_nS
n
大于KK。
现给出一个整数KK(1 \le k \le 151≤k≤15),要求计算出一个最小的nn;使得S_n>KS
n
>K。
输入输出格式
输入格式:
一个正整数KK
输出格式:
一个正整数NN
输入输出样例
输入样例#1:
1
输出样例#1:
2
// 佛祖保佑代码无bug
//
// _ooOoo_
// o8888888o
// 88" . "88
// (| -_- |)
// O\ = /O
// ____/`---'\____
// .' \\| |// `.
// / \\||| : |||// \
// / _||||| -:- |||||- \
// | | \\\ - /// | |
// | \_| ''\---/'' | |
// \ .-\__ `-` ___/-. /
// ___`. .' /--.--\ `. . __
// ."" '< `.___\_<|>_/___.' >'"".
// | | : `- \`.;`\ _ /`;.`/ - ` : | |
// \ \ `-. \_ __\ /__ _/ .-` / /
// ======`-.____`-.___\_____/___.-`____.-'======
// `=---='
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// 美女保佑代码无BUG
// .::::.
// .::::::::.
// :::::::::::
// ..:::::::::::'
// '::::::::::::'
// .::::::::::
// '::::::::::::::..
// ..::::::::::::.
// ``::::::::::::::::
// ::::``:::::::::' .:::.
// ::::' ':::::' .::::::::.
// .::::' :::: .:::::::'::::.
// .:::' ::::: .:::::::::' ':::::.
// .::' :::::.:::::::::' ':::::.
// .::' ::::::::::::::' ``::::.
// ...::: ::::::::::::' ``::.
// ````':. ':::::::::' ::::..
// '.:::::' ':'````..
//
//
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<ctime>
#include<iostream>
#include<algorithm>
#include<map>
#include<stack>
#include<queue>
#include<vector>
#include<set>
#include<string>
#define ll long long
#define dd double
using namespace std;
struct bag {
dd x, y, a;
}s[1000005];
ll dp[100050];
int main() {
ll k; cin >> k;
dd p = 1.0;
ll i = 1;
while (1) {
if (p > k) {
cout << i << endl;
break;
}
else {
i++;
p += (1.0 / i);
}
}
}