你好,按照你的要求代码如下:
public class test {
public static void main(String[] args) {
double a = 0;
for (int i = 0; i < 20; i += 2) {
a += 1.0 / (i * 2 + 1);
a -= 1.0 / (i * 2 + 3);
}
System.out.println(a * 4);
}
}
运行结果:
3.09162380666784
20次的结果,跟"π"可不相似呵呵,运行两万次,才有点像,运行20亿次,才和传统意义上的"π"比较一样
如果更精确,恐怕上万需要上万亿次,呵呵呵
public class test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//分母
double j = 1;
//总和
double t = 0;
//正负交替
double digit=1;
int m=0;
for (int i = 0; i < 20; i++) {
t =t+ digit*(1 / j);
System.out.println(t);
j =j+2;
//每次运行后改变符号
digit=digit*(-1);
m++;
// System.out.println(digit);
}
System.out.println("π="+4*t);
System.out.println("π/4="+t);
System.out.println("π/4=1-1/3+1/5-1/7+1/9-1/11+... 的运行结果是----"+t);
System.out.println("运行次数:"+m);
}
}
public class PaiTest {
public static void main(String[] args) {
double p =0;
for(int i = 1 ; i<=20000 ; i++ ){
p +=Math.pow(-1, i+1)/(2*i-1)*4;
}
System.out.println(p);
}
}
二十次循环太少了,20000次才有点π的样子。
public class Pi {
public static void main(String[] args) {
double b = 0.0;
for (int i = 1; i < 21; i++) {
b += (i % 2 == 0 ? 1.0 : -1.0) / (2 * i - 1);
}
System.out.println(b * 4);
}
}
编写java程序:已知π/4=1-1/3+1/5-1/7+1/9-1/11+... 采用二十次循环,就π得近似值 没分了 好心人帮帮忙我也不会!!!!