题目要求
已知:Sn= 1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。
现给出一个整数k(1<=k<=15),要求计算出一个最小的n:使得Sn>K。
Input
输入有多组数据
输入k
当k=0是输入结束
Output
输出 n
Sample Input
Raw
1
0
Sample Output
Raw
2
以前做的,好像…没什么难度。
#include <stdio.h>
int main()
{
double s = 0;
int i;
int k;
while(scanf("%d",&k)!=EOF)
{
s=0;
if(k==0)
break;
else
{
for(i = 1; ; i ++)
{
s+=1.0/i;
if(s>=k)
break;
}
printf("%d\n", i);
}
}
return 0;
}