HANGOVER - Hangover

How far can you make a stack of cards overhang a table? If you have one card, you can create a maximum overhang of half a card length. (We're assuming that the cards must be perpendicular to the table.) With two cards you can make the top card overhang the bottom one by half a card length, and the bottom one overhang the table by a third of a card length, for a total maximum overhang of 1/2 + 1/3 = 5/6 card lengths. In general you can make n cards overhang by 1/2 + 1/3 + 1/4 + ... + 1/(n + 1) card lengths, where the top card overhangs the second by 1/2, the second overhangs tha third by 1/3, the third overhangs the fourth by 1/4, etc., and the bottom card overhangs the table by 1/(n + 1). This is illustrated in the figure below.

Input

The input consists of one or more test cases, followed by a line containing the number 0.00 that signals the end of the input. Each test case is a single line containing a positive floating-point number c whose value is at least 0.01 and at most 5.20; c will contain exactly three digits.

Output

For each test case, output the minimum number of cards necessary to achieve an overhang of at least c card lengths. Use the exact output format shown in the examples.

Input:
1.00
3.71
0.04
5.19
0.00

Output:
3 card(s)
61 card(s)
1 card(s)
273 card(s)

Added by:Wanderley Guimarăes
Date:2006-06-09
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ERL JS-RHINO NODEJS PERL6 VB.NET
Resource:ACM Mid Central Regionals 2001

hide comments
2015-05-28 21:39:24 Programmer
Too easy
2015-05-25 23:02:05 Akshat Mathur
50th :-)
2015-05-20 14:51:19 SangKuan
my 50th.easy......
2015-04-20 07:42:27 hareesh
AC on first go :)

Don't worry about the limits (at least 0.01 and at most 5.20)
2015-03-28 23:33:55 ediston
Omg why do we have to add card(s) at the end?? :/
2015-03-26 14:55:32 Apeksha
Yay ! Solved (AC) in first go ! :)
2015-03-10 15:37:25 epimenides
3 WA because I didn't see the output format. arrg!!
2015-03-09 06:25:49 Abhishek Naik
I have already got my solution accepted, but I have a doubt. Why is the upper limit given to be 5.20 ('at most 5.20' the text says)? My code works fine for values above 5.20 also. So, why this upper limit?
2015-02-28 06:00:17 ruler
Sourabh, I think that u r loosing some values when u r multiplying each fraction with 100. Like in case of 1/3*100 = 33.33 converted to 33(integer), u will loose 0.33 and so on u'll loose many values further which would most probably cause an inaccurate answer.
2015-02-25 23:38:30 Saurabh Gupta
Need a help here:-
Was getting WA - when i was multiplying every input with 100 and typecasting it from double to int, then comparing it with the fraction*100(like (1/2)*100 = 50).
Got AC - Everything was in double and also the comparison was made in double format without multiplying it with 100 or even without typecasting.
Query is what can be the test case where the 1st approach got me WA, coz i'm out of test cases checking the reason for the failure of my 1st approach.
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.