⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hangover.cpp

📁 这是一道关于hangover的ACM的提 有兴趣的可以下载卡以下
💻 CPP
字号:
#include <iostream.h>
int main()
{
	float x, total = 0.0f, floatone = 1.0f;
	while (true)
	{
		cin >> x;
		if (x == 0.0f)
		{
			return 0;
		}
		int i=2;
		while (total < x)
		{
			total += (floatone / i);
			i++;
		}
		cout << (i - 2) << " card(s)" << endl;
		total = 0.0f;
	}
	return 0;
}
/*
Time Limit:1000MS  Memory Limit:65536K
Total Submit:103 Accepted:50 

Description 

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). 
 


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.

Sample Input 


1.00
3.71
0.04
5.19
0.00

Sample Output 


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

*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -