杭电1056题

//求最大卡片数
//注意精度问题,否则题目会出错
#include <iostream>
using namespace std;
int main()
{
 //使用double类型,如果使用float类型精度不够,会出错
 double data;
 cin>>data;
 while(data!=0.00 && data>=0.01 && data<=5.20)
 {
  double sum=0;
  int n=2;
  while(sum<data)
  {
   sum = sum+1.00/n;
   n++;
  }
  cout<<n-2<<" card(s)"<<endl;
  cin>>data;
 }
 return 0;
}

posted @ 2010-04-25 20:52  北海小龙  阅读(177)  评论(0编辑  收藏  举报