POJ 1003 Hangover

正宗水题,题目把最主要的公式都给你了,只要计算1/2+1/3+1/4+......+1/(n+1) >= x中最小的n值即可,我这里的cards用的是整形,注意底下一定要乘以1.0,否则会让你调试的生不如死的,要不你就让cards 是浮点型,其他的不解释。
#include<stdio.h>

int main()
{
 int cards;
 float length,c;
 for(scanf("%f",&c); c!=0.0; scanf("%f",&c))
 {
  for(cards=0,length=0; length<c; )
  {
   cards++;
   length+=1/(cards*1.0+1);
  }
  printf("%d card(s)\n",cards);  
 }
    return 0;
} //180K  0MS

你可能感兴趣的:(POJ 1003 Hangover)