这是一道非常,非常,非常,非常水的题目,在输出后加上一个字符串算是考点吗?
但是!他非常,非常,非常,非常有意义,他让我学会了打表这一神技。
其实,以上说的都是废话,只是觉得干贴代码好丑啊。
打表的代码就不贴上来了,有兴趣的自己去写,这绝度不是我教的。
//PKU_1003
//简单题,差分查找不小于x的最小卡牌数
#include <iostream>
using namespace std;
int find(double * f,double key,int r,int l) {
int mid = (r+l)/2;
if (r==l) return mid;
else if (f[mid]<key) return find(f,key,mid+1,l);
else return find(f,key,r,mid);
}
int main(){
double x,f[1000];
int i;
f[0]=0;
for (i=1;i<1000;i++)
f[i]=f[i-1]+1/double(i+1);
while (cin>>x && x!=0) {
i=find(f,x,0,999);
cout<<i<<" card(s)"<<endl;
}
return 0;
}