`
s1099
  • 浏览: 19815 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

1003 Hangover

    博客分类:
  • poj
阅读更多

这个题目本身没什么好说的,很简单,只是要注意的是浮点数在机器中的表示是不精确的。

那么下面就是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
分享到:
评论

相关推荐

    poj 1003 Hangover

    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

    【标题】"POJ1003-Hangover"是一个编程竞赛题目,源自北京大学的在线判题系统POJ(Problem Online Judge)。这类题目通常要求参赛者编写程序来解决特定的算法问题,以此锻炼和测试编程技能及算法理解能力。 【描述...

    poj题目分类...

    * 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 ...

    CSP-J1 第1轮 初赛 最后2周冲刺 查漏补缺(D)-2023.09.04.pdf

    了解其基本思想,通过观看视频教程和练习题目,如POJ 1003 Hangover,掌握如何在实际问题中应用倍增法。 7. **NOI 历史与规则**: - 了解NOI(全国青少年信息学奥林匹克竞赛)的历史背景和相关活动,这将帮助参赛...

    POJ题目分析与理解

    此外,POJ题目还包括一些数学题目,例如,1001 Exponentiation、1002 487-3279、1003 Hangover 等。这类题目需要程序员使用数学知识和算法来解决问题。 POJ题目是一个非常有价值的资源,对于程序员来说,通过解决...

    算法分类以及POJ题目分类

    3. 1003 Hangover:简单的模拟醉酒状态,注意条件分支。 4. 2301 Beat the Spread!: 模拟体育比赛的赌注,理解概率和比较。 5. 2304 Combination Lock:解锁密码组合,理解排列组合。 6. 2339 Rock, Scissors, Paper...

    北大POJ题目分类,归纳等等的呢个

    1. **简单题**:如1000A+B、1003 Hangover等,这类题目通常涉及到基本的算术运算、字符串处理或简单的逻辑判断,适合初学者入门练习。 2. **数学问题**:包括1001Exponentiation(指数运算)、1014 Dividing(除法...

    POJ各题算法分类和题目推荐 ACM必看

    * 1003 Hangover:本题目要求使用编程语言来模拟酒吧的营业情况。 * 1701 Dissatisfying Lift:本题目要求使用编程语言来模拟电梯的运行情况。 * 2301 Beat the Spread!:本题目要求使用编程语言来模拟股票交易的...

    北京大学poj题目类型分类

    * 1003 Hangover:这是一个简单的字符串处理题目,要求学习者编写一个程序来处理字符串。 搜索题 搜索题是POJ题目中的一种重要题型,通常涉及搜索算法和图论的应用,如深度优先搜索、广度优先搜索、迪杰斯特拉算法...

    POJ分类题(按照算法分类)

    3. 1003Hangover:这个题目可能与数学计算有关,但具体内容需要查询原题。 4. 1004ManagementFinancial:这可能涉及到基本的财务计算。 5. 1013CounterfeitDollar:这个题目可能是一个与现金识别相关的逻辑题。 6...

    xcm.rar_图形图像处理

    在本例中,这个压缩包与北京大学ACM(算法竞赛)练习网站上的第1003题有关,该题目可能是关于图像处理或计算机视觉的一道编程挑战。 【描述】提到的"北京大学ACM练习网站1003题代码"意味着这个压缩包中包含的是为了...

    ZJU_ACM_All_Anwer 搞编程的都知道的浙江大学A 题库.本书 集了所有经 Z 题解集,集合并附 Mathimaticsumerical algorithms 数值算法

    1045 HangOver 简单题 1049 I Think I Need a Houseboat 简单题 1028 Flip and Shift 简单题,可以DP/BFS/……,但是实际上有数学方法可直接判断出来 1026 Modular multiplication of polynomials 简单题,有...

    浙江大学ACM题解/ZJU 题型分类

    1045 HangOver 简单题 1049 I Think I Need a Houseboat 简单题 1028 Flip and Shift 简单题,可以DP/BFS/……,但是实际上有数学方法可直接判断出来 1026 Modular multiplication of polynomials 简单题,有...

Global site tag (gtag.js) - Google Analytics