hdu1056

#include <cstdio>

void main()
{
double length;
double l[300];
l[1] = 1.0/2;
int i;
for (i = 2;; ++i)
{
l[i] = l[i-1] + 1.0/(i+1);
if (l[i] >= 5.20)
break;
}
while (scanf("%lf", &length), length > 0)
{
for (i = 1;; ++i)
{
if (l[i] >= length) break;
}
printf("%d card(s)\n",i);
}
}

时间: 2024-08-05 06:41:01

hdu1056的相关文章

POJ1003 UVALive2294 HDU1056 ZOJ1045 Hangover

Regionals 2001 >> North America - Mid-Central USA 问题链接:POJ1003 UVALive2294 HDU1056 ZOJ1045 Hangover. 题意简述:已知c=1/2+1/3+1/4+....1/(n+1),输入m(m是浮点数),求正整数n使得c>=m. 问题分析:从小到大试探n即可. AC的C语言程序如下: /* POJ1003 UVALive2294 HDU1056 ZOJ1045 Hangover */ #include

HDU1056 HangOver

HangOver Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 9412    Accepted Submission(s): 3971 Problem Description How far can you make a stack of cards overhang a table? If you have one card, y

(HDU)1056 --HangOver( 悬住)

题目链接:http://vjudge.net/problem/HDU-1056 第一次写的时候TLE了,原因是处理double型计算的时候,丢失了精度,跳不出循环. 在算式第一个数字后加.0就可以了... 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 using namespace std; 5 6 int main() 7 { 8 9 double l; 10 while(~scanf