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+……当等于给定值时 跳出 输出即可