这是两道题吧 这么简单都没人帮 我来拿分儿了
求pi的:
public class Pi {
private double pi = (double) 0;
public Pi() {
this.calculate();
}
private void calculate() {
double a = (double) 1;
double sum = (double) 0;
boolean flag = true;
while (1.0 / a > 1e-7) {
sum = flag ? sum + 1 / a : sum - 1 / a;
a += 2;
flag = !flag;
}
pi = sum * 4;
}
public double getPi() {
return pi;
}
public static void main(String[] args) {
System.out.println(new Pi().getPi());
}
}
可能是你公式的问题,这个公式我记得精度不是最高的那个,求出来的精度不是很好
阶乘的:
public class Factorial {
long result = 1;
public Factorial(int max) {
this.calculate(max);
}
private void calculate(int max) {
result = result * max;
if (max > 1) {
calculate(max - 1);
}
}
public long getResult() {
return result;
}
public static void main(String[] args) {
long sum = 0;
for (int i = 4; i < 7; i++) {
sum += new Factorial(i).getResult();
}
System.out.println(sum);
}
}
我这个写的比较简单,求阶乘的算法也有很多,比如你可以求出3的以后再求4,就直接成4就好了,还可以优化...
作业帮用户
2017-05-08
举报