oj1661: 级数求和

题目要求
已知: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;
}
发布了38 篇原创文章 · 获赞 27 · 访问量 3172

猜你喜欢

转载自blog.csdn.net/qq_45891413/article/details/105129481