GDUFE ACM-1220
题目:http://acm.gdufe.edu.cn/Problem/read/id/1220
sum of 1/n
Time Limit: 2000/1000ms (Java/Others)
Problem Description:
设有以下表达式: s=1/1+1/2+1/3+1/4+...+1/n 当n足够大时,上面的表达式之和总会大于指定的一个整数k。 例如,要使上面表达式的值大于2,则可通过以下表达式计算得出: 1/1+1/2+1/3+1/4=2.083 即当n等于4时,计算的结果就超过了k的值2。现在给出一个整数k(1<=k<=15),要求计算出一个最小的n,使得s>k。
Input:
输入包含多组数据,对于每组数据,输入一个整数k(1<=k<=15)
Output:
对于每组数据,输出n=一个整数n
Sample Input:
2
Sample Output:
n=4
思路:就是加起来。。
难度:非常简单
代码:
1 #include<stdio.h> 2 int main() 3 { 4 int k,n; 5 double sum; 6 while(scanf("%d",&k)!=EOF) 7 { 8 sum=0; 9 for(n=1;;n++) 10 { 11 sum+=1.0/n; 12 if(sum>k) 13 { 14 printf("n=%d\n",n); 15 break; 16 } 17 } 18 } 19 }