POJ 1003 Java Hangover

题意很简单,输入一个数, 算出1/2 + 1/3 + 1/4 ++ 1/(n + 1)大于这个数时的最小n。

Java实现代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        float f = in.nextFloat();
        int i = 0;
        while(f!=0.00){
            if(getLen(i)<f&&getLen(i+1)>f){
                System.out.println((i+1)+" card(s)");
                i = 0;
                f = in.nextFloat();
            }else{
                i++;
            }
        }
    }
    private static float getLen(int n){
        float res = 0.00f;
        for(int i = 1; i <= n; i++){
            res += 1.0/(i+1);
        }
        return res;
    }
}

除非注明,饮水思源博客文章均为原创,转载请以链接形式标明本文地址

本文地址: http://www.alonemonkey.com/acmpoj1003.html

本文链接:http://www.alonemonkey.com/acmpoj1003.html