Java-POJ1003-Hangover

Posted Jason-Cow

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java-POJ1003-Hangover相关的知识,希望对你有一定的参考价值。

题目大意:

  给出一个浮点数a,求出使得 不等式 1/2 + 1/3 + ... + 1/(n+1) ≥ a 成立的最小值

大水题,由于数据范围小,给出了确认上界5.20,满足二分答案

但是我懒啊,直接暴力出奇迹,附上代码

 1 package poj.ProblemSet;
 2 
 3 import java.util.Scanner;
 4 
 5 public class poj1003 {
 6     public static void main(String[] args) {
 7         Scanner cin = new Scanner(System.in);
 8         for (double a=cin.nextDouble();!(Math.abs(a - 0.00) < 0.001);a = cin.nextDouble()){
 9             double sum = 0.0;
10             int ans = 0;
11             for (int i = 2; ; i++) {
12                 sum += (double) 1 / i;
13                 if (sum >= a) {
14                     ans = i - 1;
15                     break;
16                 }
17             }
18             System.out.println(ans + " card(s)");
19 
20         }
21     }
22 }

 

以上是关于Java-POJ1003-Hangover的主要内容,如果未能解决你的问题,请参考以下文章

POJ-1003-hangover

1003-Hangover

[POJ] #1003# Hangover : 浮点数运算

1003hangover

Java-POJ1008-Maya Calendar

Java-POJ1012-Joseph