`
444878909
  • 浏览: 662406 次
文章分类
社区版块
存档分类
最新评论

每天一道算法_4_Hangover

 
阅读更多

此系列刚开始两天就被十一假期打断了,去山西玩了几天,今天刚回来,为了弥补一下心里的貌似隐隐作痛的愧疚感,挑了个简单的练练手,权当给自己补上一刀。

今天的题目是Hangover,如下:

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



Input

The input consists of one or more test cases, followed by a line containing the number 0.00 that signals the end of the input. Each test case is a single line containing a positive floating-point number c whose value is at least 0.01 and at most 5.20; c will contain exactly three digits.

Output

For each test case, output the minimum number of cards necessary to achieve an overhang of at least c card lengths. Use the exact output format shown in the examples.

Sample Input

1.00
3.71
0.04
5.19
0.00

Sample Output

3 card(s)
61 card(s)
1 card(s)
273 card(s)

代码如下:

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;


public class Hangover {
	
	public static void main(String args[]){
		List<Float> list = new ArrayList<Float>();
		Scanner scanner = new Scanner(System.in);
		int all = scanner.nextInt();
		while(all > 0){
			list.add(scanner.nextFloat());
			all --;
		}
		for(int i = 0; i < list.size(); i ++){
			float f = list.get(i);
			int count = 1;
			float j=2,sum=0;
			for(; sum + (1/j) < f; j ++){
				count ++;
				sum = sum+ (1/j);
			}
			System.out.println(count + " card(s)");
		}
	}
}


输入输出如下:

4 1.00 3.71 0.04 5.19
3 card(s)
61 card(s)
1 card(s)
273 card(s)



由于输入的时候弄了半天没想出合适的用0.00结尾的方法,就用了开头先输入一个整数,表示后面要输入的整数个数,然后依次输入的方法,

相信你能看懂。


作者:jason0539

微博:http://weibo.com/2553717707

博客:http://blog.csdn.net/jason0539(转载请说明出处)

分享到:
评论

相关推荐

    Hangover

    《Hangover:一款独特艺术字体的探索》 在IT领域,视觉设计是不可或缺的一部分,而字体作为视觉元素的重要载体,其重要性不言而喻。今天我们要探讨的是名为“Hangover”的字体,它以其独特的风格和艺术感在设计界...

    POJ1003-Hangover

    根据题目"POJ1003-Hangover"的特性,我们可以推测这可能是一个涉及数据结构、算法或者数学逻辑的问题。在实际的解题过程中,参赛者可能需要理解题目的具体要求,例如处理输入输出、解决特定的计算问题或者设计有效的...

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

    the_hangover

    4. **模块化**:现代前端开发中,JavaScript代码通常采用模块化方式组织,如CommonJS或ES6模块。这使得代码更易于维护和复用,同时通过构建工具可以实现按需加载,减少初始加载时间。 5. **包管理**:项目中可能...

    hangover:Hangover在arm64ppc64lex86_64 Linux和x86_64 Mac上运行简单的Win64Win32应用程序

    这是Hangover,这是由StefanDösinger和AndréHentschel发起的一个项目,用于在aarch64 / ppc64le / x86_64 Wine上运行x86_64 / x86_32 Windows应用程序。 1)运作方式 在主机上,只有64位模式下有一个Wine,而对于...

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

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

    算法分类以及POJ题目分类

    在ACM(国际大学生程序设计竞赛)中,算法分类是极其重要的,它涉及到不同的问题解决策略和数据结构。这些算法可以帮助参赛者高效地解决各种复杂的问题。本篇将详细介绍几种常见的算法类型,并结合POJ(Peking ...

    论文研究-基于改进蚁群算法的多序列比对.pdf

    为了解决短波通信中语音检测的问题,针对短波语音信噪比低,噪声复杂的特点,对幅度谱熵算法进行了修正,选取功率谱熵作为VAD特征,加入谱熵平滑和hangover设计,研究了基于功率谱熵的语音端点检测算法。实验证明,...

    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 简单题,有...

    xcm.rar_图形图像处理

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

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

    POJ(北京大学在线评测系统,PKU Judge Online)是一个非常著名的在线编程竞赛和练习平台,提供给编程爱好者和学习者大量的练习题,覆盖了从基础到高级的各种算法和数据结构知识。题目按照算法分类可以帮助学习者更...

    WIBF.rar_图形图象

    4. "Exponentiation_code.doc":可能与快速幂运算有关,虽然不是直接的图形图像处理,但快速幂在图像处理中的某些算法(如快速傅里叶变换)中可能会用到。 5. "Hangover.doc":这道题可能涉及到图像的模糊处理或者...

    2014高考英语完形填空抓分练习精品题(55).doc

    这篇资料是关于2014年高考英语完形填空的一道练习题,主题围绕着友谊的本质和朋友间相处的方式。文章中强调了友谊的无条件性和无批评性,指出真正的友谊建立在相互尊重和享受彼此陪伴的基础上,而不是基于讨论高深的...

    POJ题目分析与理解

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

    zoj 题库 详细解答 解题代码

    4. ZOJ Problem Set – 1048 Financial Management 该题目主要考察了数据结构和算法设计能力,要求解决 Financial Management 问题。该问题的解决需要对数据结构和算法设计有深入的理解。 知识点:数据结构、算法...

    北京大学poj题目类型分类

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

    hangover:适用于Google环聊的本机Mac OS X客户端。 未维护-改用Parrot

    Hangover是Google的即时通讯服务Hangouts的第一个本机Mac客户端。 目前,它实质上是 ( 的本机Swift端口,这是第一个第三方Google Hangouts客户端。 从长远来看,Hangover打算成为Google忘记为Mac OS X制作的Google ...

    Hangover-Predictor:个性化宿醉预测器应用程序

    然后,它会根据我们的算法为您提供第二天早上宿醉的可能性。 您可以将预测的宿醉程度与您早上的感觉进行比较。 只要让我们知道它是否比我们预测的更糟或更好,我们的算法将根据您的实际经验进行调整。 您使用该应用...

    zju_ACM 习题详解

    以上是针对几个典型问题的解题思路与示例代码,通过练习这些题目,可以帮助学生更好地掌握算法基础知识和提高解决实际问题的能力。在学习过程中,还应注意代码风格、变量命名等编程习惯的培养。

Global site tag (gtag.js) - Google Analytics