Saturday 21 March 2009

POJ ( acm.pku.edu.cn ) 1003

这道题是早年做的,那时还不知道能输入一条然后立即输出一条。



#include<iostream>
#include<vector>
using namespace std;
inline int f(float x)
{
int i=2;
if(x<=0.5) return 1;
else
{
float p=0;
while(p<x)
{
p+=(float)1/i;
i++;
}
}
return i-2;
}
int main()
{
int i,n,a=0;
float c;
vector<float> l;
while(1)
{
cin>>c;
if(c<0.01)break;
l.push_back(c);
a++;
}
for(i=0;i<a;i++)
cout<<f(l[i])<<" card(s)\n";
return 0;
}

No comments:

Post a Comment