因为一把过了,不知道会遇到啥问题。。。
思路是把多少张卡牌能表示的最长长度打张表。
#include <stdio.h>
float ans[2000];
int main()
{
float bo;
ans[0] = 0;
for(int i = 1; i < 2000; i++)
{
ans[i] = ans[i - 1] + (1.0 / (float)(i + 1));
}
while(scanf("%f", &bo) == 1 && bo)
{
for(int i = 0; i < 2000; i++)
if(ans[i] > bo)
{
printf("%d card(s)\n", i);
break;
}
}
return 0;
}