题目描述
已知:��=1+12+13+…+1�Sn=1+21+31+…+n1。显然对于任意一个整数 �k,当 �n 足够大的时候,��>�Sn>k。
现给出一个整数 �k,要求计算出一个最小的 �n,使得 ��>�Sn>k。
输入格式
一个正整数 �k。
输出格式
一个正整数 �n。
输入输出样例
输入 #1复制
1
输出 #1复制
2
说明/提示
【数据范围】
对于 100%100% 的数据,1≤�≤151≤k≤15。
【题目来源】
NOIP 2002 普及组第一题
在算模拟做法(做法1)的时间复杂度时,我想到了一种新的数论做法(做法2),检查了一遍题解发现没有这种做法,于是我写了这篇题解。
1.模拟
这种做法的思路是枚举�n从1开始,直到��>�Sn>k结束,只需要一个循环即可实现。
代码:
#include<cstdio>
int main() {