题目链接:http://poj.org/problem?id=1003
题意:给出这样一张图,问最少需要几张卡使得卡能稳定的放在桌子上且其超出右边界的长度超过给定值。

题解:找规律。可以发现:第i块木板超出第(i+1)块木板的长度是1/(i+1),所以找到最小的k使得1/2+1/3+……+1/(k+1)>=给定值即可。
#include <stdio.h>
int main() {
float n , s;
int ok = 0;
while(~scanf("%f",&n)) {
s = 0;
ok = 0;
if(n != 0.00) {
for(float i=2.0;;i++) {
s += 1/i;
if(s > n) {printf("%.0f card(s)\n",i-1.0);ok=1;}
if(ok) break;
}
}
else return 0;
}
return 0;
}