HDOJ-ACM1012(JAVA)
这道题很简单,主要是弄懂题意和注意输出:
输出的完整结果如下:
n e
- -----------
0 1
1 2
2 2.5
3 2.666666667
4 2.708333333
5 2.716666667
6 2.718055556
7 2.718253968
8 2.718278770
9 2.718281526
java代码如下:
import java.util.*; import java.io.*; public class Main{ public static void main(String[] arg){ Scanner scan = new Scanner(new BufferedInputStream(System.in)); System.out.println("n e"); System.out.println("- -----------"); for(int i =0 ; i != 10 ; i ++){ if(i<2){ System.out.println(i + " " + (int)getE(i)); }else if(i<3){ System.out.println(i + " " +getE(i)); }else{ System.out.printf("%d %.9f",i,getE(i)); System.out.println(); } } scan.close(); } static double getE(int from){ double e = 0; if(from == 0){ e=1; }else{ while(from!=0){ e = e + 1.0/getProduct(from); from--; } e +=1; } return e; } static int getProduct(int from){ int p=1; while(from != 0){ p*=from; from--; } return p; } }
让蔷薇开出一种结果~