nylg-156-Hangover

 1 #include<stdio.h>
 2 #include<algorithm>
 3 #include<functional>
 4 using namespace std;
 5 int main()
 6 {
 7     int i,a[20];
 8     double t,sum,n;
 9     while(scanf("%lf",&t),t)
10     {
11         if(t<0.5)
12         {
13             printf("1 card(s)
");
14             continue;
15         }
16         sum=0;
17         for(i=2;i<=300;i++)
18         {
19             sum+=1.0/i;
20             if(sum>=t)
21             {
22                 printf("%d card(s)
",i-1);
23                 break;
24             }
25 
26         }
27     }
28     return 0;
29 }

这个题目用到的是累加和的循环判定     1/2+1/3+1/4+……当等于给定值时  跳出  输出即可

原文地址:https://www.cnblogs.com/nylg-haozi/p/3175791.html