题目描述
已知:Sn=1+1/2+1/3+1/n。显然对于任意一个整数 k,当 n 足够大的时候,Sn>k。
现给出一个整数 k,要求计算出一个最小的 n,使得 Sn>k。
输入格式
一个正整数 k。
输出格式
一个正整数 n。
输入输出样例
输入 #1复制
1
输出 #1复制
2
说明/提示
【数据范围】
对于 100% 的数据,1≤k≤15。
题目分析:给一个式子Sn=1+1/2+1/3+1/n,当这个式子的值大于输入的k时,输出最小的n(即使Sn刚好大于k时的n的值)
思路分析:用while循环控制Sn是否大于k,当大于k时则终止循环,输出n
k=int(input())#输入一个k
s=0#初始化Sn=0
n=1#初始化Sn=1
while s<=k:#当s<=k时进行循环
s+=1/n
n+=1#每次循环后n的大小要比循环的次数多1,所以输出时要输出n-1
print(n-1)
加油!!!