题目很长,看半天才理解就是 找出一个N 使得 1/2+1/3+1/4+....1/N+1 的值大于某个输入的浮点数值,输出N。
由于题目有最小和最大输入的限制(0.01-5.19)所以无需考虑很多。
代码如下:
/*
Arthur: Near_zh
Data: 2014/08/01
Note: Poj1003
*/
#include <iostream>
using namespace std;
int main()
{
double num;
cin>>num;
double i;
while(num!=0.00)
{
double result=0.0;
for(i=2;;i++)
{
result+=double(1/i);
if(result>=num)
break;
}
cout<<i-1<<" card(s)"<<endl;
cin>>num;
}
}