POJ1003 Hangover
2013-07-30 17:21
295 查看
题目来源:http://poj.org/problem?id=1003
题目大意:
将一叠卡片堆放在桌边。如果有一张卡片,你可以最多让卡片的一半悬于桌边外。(假设卡片总是与桌边垂直的。)当有两张卡时,你可以让上面的一张卡片有一半悬于底下的卡片之外,下面的卡片则有1/3悬于桌外。故悬于桌外的卡片长度和为1/2 + 1/3 = 5/6.当有你张卡片时,总的悬于桌外的长度和最大为1/2 + 1/3 + 1/4 + ... + 1/(n - 1).其中,最顶端的卡片外悬1/2,第二张外悬1/3,第三张外悬1/4...最底部的一张外悬1/(n+1).如下图所示:
View Code
题目大意:
将一叠卡片堆放在桌边。如果有一张卡片,你可以最多让卡片的一半悬于桌边外。(假设卡片总是与桌边垂直的。)当有两张卡时,你可以让上面的一张卡片有一半悬于底下的卡片之外,下面的卡片则有1/3悬于桌外。故悬于桌外的卡片长度和为1/2 + 1/3 = 5/6.当有你张卡片时,总的悬于桌外的长度和最大为1/2 + 1/3 + 1/4 + ... + 1/(n - 1).其中,最顶端的卡片外悬1/2,第二张外悬1/3,第三张外悬1/4...最底部的一张外悬1/(n+1).如下图所示:
////////////////////////////////////////////////////////////////////////// // POJ1003 Hangover // Memory: 252K Time: 0MS // Language: C++ Result: Accepted ////////////////////////////////////////////////////////////////////////// #include <iostream> using namespace std; int main(void) { while (true) { float length = 0.0; cin >> length; if (length == 0) { break; } float f = 0.5; int i = 1; while (true) { if (f >= length) { break; } else { i++; f += (1.0 / (i + 1)); } } cout << i << " card(s)" << endl; } return 0; }
View Code
相关文章推荐
- 二分法实战(一)——HangOver问题(POJ1003)
- poj1003 Hangover
- [POJ1003]Hangover
- Hangover[POJ1003]
- POJ1003 Hangover
- POJ1003_Hangover(二分求上界)
- POJ1003--Hangover 翻译
- 【poj1003】Hangover
- POJ1003 hangover
- poj1003 Hangover
- POJ1003--Hangover 翻译
- POJ1003:Hangover
- POJ1003-hangOver
- POJ1003:Hangover
- poj1003 Hangover
- [c] poj1003 hangover
- POJ1003,Hangover,数学题,题目看懂就没什么
- poj1003(Hangover)
- poj1003 -- Hangover
- poj1003(Hangover)