POJ1003-Hangover
http://poj.org/problem?id=1003
水题不解释,非常无聊地用了一些二分- -#
#include<stdio.h> #include<math.h> const double delta=1e-6; int main(void) { double len[300],c; int i,l,r,mid; len[0]=0.0; for(i=1;i<300;i++) len[i]=len[i-1]+1.0/(i+1); while(scanf("%lf",&c),c) { l=0;r=i; while(l+1<r) { mid=(l+r)/2; if(fabs(len[mid])<c) l=mid; else r=mid; } printf("%d card(s)\n",r); } return 0; }