问题描述:
给出公式然后让你根据这个公式求出n在0~9的对应的e的近似值
输出:
把答案按照这种方式输出
解题代码:
public class p1012 {
public static void main(String[] args) {
System.out.println("n e");
System.out.println("- -----------");
double[] arr = new double[10];
for(int i = 0;i<10;i++) {
arr[i] = factorial(i);
}
System.out.println("0 1");
System.out.println("1 2");
System.out.println("2 2.5");
for(int i = 3;i<10;i++) {
/**
* 当时我想直接这样写System.out.printf("%d %.9f\n", i, sigma(i, arr));
* 但是总是报Presentation Error
*/
System.out.printf("%d %.9f", i, sigma(i, arr));
System.out.println();
}
}
//求阶乘
public static double factorial(int num) {
double res = 1;
while(num>1) {
res *= num;
num--;
}
return 1f/res;
}
//求和
public static double sigma(int num, double[] arr) {
double res = 0f;
for(int i = 0;i<=num;i++) {
res += arr[i];
}
return res;
}
}
嗯其实这道题最难的不是思路,而是输出格式。。。呵呵