程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> HangOver£¨º¼µç1056£©

HangOver£¨º¼µç1056£©

編輯:C++入門知識

HangOver£¨º¼µç1056£©


HangOver

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 9821 Accepted Submission(s): 4137


Problem 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). This is illustrated in the figure below.

\

The input consists of one or mZ†·Ÿ"http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcmUgdGVzdCBjYXNlcywgZm9sbG93ZWQgYnkgYSBsaW5lIGNvbnRhaW5pbmcgdGhlIG51bWJlciAwLjAwIHRoYXQgc2lnbmFscyB0aGUgZW5kIG9mIHRoZSBpbnB1dC4gRWFjaCB0ZXN0IGNhc2UgaXMgYSBzaW5nbGUgbGluZSBjb250YWluaW5nIGEgcG9zaXRpdmUgZmxvYXRpbmctcG9pbnQgbnVtYmVyIGMgd2hvc2UgdmFsdWUgaXMgYXQgbGVhc3QgMC4wMSBhbmQgYXQgbW9zdCA1LjIwOyBjIHdpbGwKIGNvbnRhaW4gZXhhY3RseSB0aHJlZSBkaWdpdHMuPGJyPgo8YnI+CkZvciBlYWNoIHRlc3QgY2FzZSwgb3V0cHV0IHRoZSBtaW5pbXVtIG51bWJlciBvZiBjYXJkcyBuZWNlc3NhcnkgdG8gYWNoaWV2ZSBhbiBvdmVyaGFuZyBvZiBhdCBsZWFzdCBjIGNhcmQgbGVuZ3Rocy4gVXNlIHRoZSBleGFjdCBvdXRwdXQgZm9ybWF0IHNob3duIGluIHRoZSBleGFtcGxlcy48YnI+CgoKIAo8YnI+CgpTYW1wbGUgSW5wdXQKCjxwcmUgY2xhc3M9"brush:java;">1.00 3.71 0.04 5.19 0.00
Sample Output
3 card(s)
61 card(s)
1 card(s)
273 card(s)

Source Mid-Central USA 2001
#include
#include
#include
using namespace std;
int main()
{
	double n,sum,j;
	int i,k;
	while(scanf("%lf",&n)&&n)
	{
		sum=0.50;
		k=1;
		if(n<=0.50)
		printf("1 card(s)\n");
		else
		{
			for(i=3;sum						

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved