[POJ 1003] Hangover C++解题
生活随笔
收集整理的這篇文章主要介紹了
[POJ 1003] Hangover C++解题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
翻譯:
若將一疊卡片放在一張桌子的邊緣,你能放多遠?如果你有一張卡片,你最遠能達到卡片長度的一半。(我們假定卡片都正放在桌 子上。)如果你有兩張卡片,你能使最上的一張卡片覆蓋下面那張的1/2,底下的那張可以伸出桌面1/3的長度,即最遠能達到 1/2 + 1/3 = 5/6 的卡片長度。一般地,如果你有n張卡片,你可以伸出 1/2 + 1/3 + 1/4 + ... + 1/(n + 1) 的卡片長度,也就是最上的一張卡片覆蓋第二張1/2,第二張超出第三張1/3,第三張超出第四張1/4,依此類推,最底的一張卡片超出桌面1/(n + 1)。下面有個圖形的例子:
現在給定伸出長度C(0.00至5.20之間),輸出至少需要多少張卡片。
?
解決思路
直接按照要求模擬就可以了。
#include "stdafx.h" #include<cstdio> #include<iostream> using namespace std; int main(void) {double c;int i;double Overhangs;while (cin>>c){if (0.0 == c){return 0;}Overhangs = 0;for (i = 1; i; i++){Overhangs += 1.0 / (i + 1);if (Overhangs >= c){break;}}cout << i;}return 0; }
總結
以上是生活随笔為你收集整理的[POJ 1003] Hangover C++解题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JNI开发之锅炉压力监控器
- 下一篇: POJ 1001 Exponentiat