这个题目本身没什么好说的,很简单,只是要注意的是浮点数在机器中的表示是不精确的。
那么下面就是AC的代码:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
float sum, num;
while((num=in.nextFloat()) > 1.0/128) {
sum = 0;
int i;
for(i = 2; sum < num; i++)
sum += 1.0/i;
System.out.printf("%d card(s)\n", i-2);
}
}
}
但是这个题目中给出的这个级数挺有意思的,它的名字叫做调和级数,它的数学化表示是:
它的性质很是特别,关于调和级数的介绍,推荐看一下维基百科。
http://zh.wikipedia.org/wiki/调和级数
当然这个题目不只这一种方法,注意到题目中输入的范围是从0.01到5.20,这里我们可以将调和级数在这个范围内事先求出(270个左右)放到数组中,之后再在数组中查找即可。
还有一种比较神奇的方法是利用公式,这里面用到了调和级数的前k项和公式。遗憾的是,在这里这种方法不太适合,因为这里用到的k值较小,如果将另一项和k有关的项忽略掉,误差较大,求出来的值与实际值误差在+-1之间。
- 大小: 1.8 KB
分享到:
相关推荐
Hangover Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 44187 Accepted: 20574 Description How far can you make a stack of cards overhang a table? If you have one card, you can create a...
【标题】"POJ1003-Hangover"是一个编程竞赛题目,源自北京大学的在线判题系统POJ(Problem Online Judge)。这类题目通常要求参赛者编写程序来解决特定的算法问题,以此锻炼和测试编程技能及算法理解能力。 【描述...
* 1003 Hangover * 1701 Dissatisfying Lift * 2301 Beat the Spread! * 2304 Combination Lock * 2328 Guessing Game * 2403 Hay Points * 2406 Power Strings * 2339 Rock, Scissors, Paper * 2350 Above Average ...
1. **简单题**:如1000A+B、1003 Hangover等,这类题目通常涉及到基本的算术运算、字符串处理或简单的逻辑判断,适合初学者入门练习。 2. **数学问题**:包括1001Exponentiation(指数运算)、1014 Dividing(除法...
了解其基本思想,通过观看视频教程和练习题目,如POJ 1003 Hangover,掌握如何在实际问题中应用倍增法。 7. **NOI 历史与规则**: - 了解NOI(全国青少年信息学奥林匹克竞赛)的历史背景和相关活动,这将帮助参赛...
此外,POJ题目还包括一些数学题目,例如,1001 Exponentiation、1002 487-3279、1003 Hangover 等。这类题目需要程序员使用数学知识和算法来解决问题。 POJ题目是一个非常有价值的资源,对于程序员来说,通过解决...
3. 1003 Hangover:简单的模拟醉酒状态,注意条件分支。 4. 2301 Beat the Spread!: 模拟体育比赛的赌注,理解概率和比较。 5. 2304 Combination Lock:解锁密码组合,理解排列组合。 6. 2339 Rock, Scissors, Paper...
* 1003 Hangover:本题目要求使用编程语言来模拟酒吧的营业情况。 * 1701 Dissatisfying Lift:本题目要求使用编程语言来模拟电梯的运行情况。 * 2301 Beat the Spread!:本题目要求使用编程语言来模拟股票交易的...
* 1003 Hangover:这是一个简单的字符串处理题目,要求学习者编写一个程序来处理字符串。 搜索题 搜索题是POJ题目中的一种重要题型,通常涉及搜索算法和图论的应用,如深度优先搜索、广度优先搜索、迪杰斯特拉算法...
3. 1003Hangover:这个题目可能与数学计算有关,但具体内容需要查询原题。 4. 1004ManagementFinancial:这可能涉及到基本的财务计算。 5. 1013CounterfeitDollar:这个题目可能是一个与现金识别相关的逻辑题。 6...
在本例中,这个压缩包与北京大学ACM(算法竞赛)练习网站上的第1003题有关,该题目可能是关于图像处理或计算机视觉的一道编程挑战。 【描述】提到的"北京大学ACM练习网站1003题代码"意味着这个压缩包中包含的是为了...
1045 HangOver 简单题 1049 I Think I Need a Houseboat 简单题 1028 Flip and Shift 简单题,可以DP/BFS/……,但是实际上有数学方法可直接判断出来 1026 Modular multiplication of polynomials 简单题,有...
1045 HangOver 简单题 1049 I Think I Need a Houseboat 简单题 1028 Flip and Shift 简单题,可以DP/BFS/……,但是实际上有数学方法可直接判断出来 1026 Modular multiplication of polynomials 简单题,有...