描述
你能把一叠牌悬在桌子上多远?如果您有一张卡,则可以创建半个卡长度的最大悬垂。(我们假设这些卡必须垂直于表。使用两张牌,您可以使顶部的卡悬垂到底部的半张卡长度,而底部的卡牌悬在桌子上的三分之一,总最大悬垂量为1/2 + 1/3 = 5/6卡长度。一般来说,你可以通过1/2 + 1/3 + 1/4 + 使n张牌悬垂…+ 1/(n + 1)牌长度,其中顶部的卡悬起第二张1/2,第二张悬起的第三张1/3,第三张悬起的第四张1/4,依此类推,底部的牌悬悬1/(n + 1)。下图对此进行了说明。
输入
输入由一个或多个测试用例组成,后跟一行包含数字 0.00,该行表示输入的结束。每个测试用例都是一行,其中包含一个正浮点数c,其值至少为0.01,最多为5.20;c 将正好包含三位数字。
输出
对于每个测试用例,输出实现至少 c 卡长度的悬垂所需的最小卡数。使用示例中所示的确切输出格式。
样例输入
1.00
3.71
0.04
5.19
0.00
样例输出
3 card(s)
61 card(s)
1 card(s)
273 card(s)
#include<stdio.h>
int main(){
float t,i,n,l;
while((scanf("%f",&n))!=EOF&&n!=0.00){
l=0,i=0;
while(l<n){
i++;
l=1/(i+1)+l;
}
printf("%.0f card(s)",i);
printf("\n");
}
return 0;
}