您的位置:首页 > 编程语言 > Java开发

Java实现计算圆周率π的两种方法

2015-12-12 15:24 549 查看

方法一:割圆法

计算公式为:

π≈3*2^n*y_n

其中,n代表割圆次数,y_n代表圆中内嵌正6*n边形的边长

package 计算π的近似值;
import java.util.Scanner;
public class Example {
public static void main(String[] args) {
	Scanner scan=new Scanner(System.in);
	System.out.println("请输入割圆次数:");
	int n=scan.nextInt();
	cut(n);
	
}
static void cut(int n){
	double y=1.0;
	for(int i=0;i<=n;i++){
		double π=3*Math.pow(2, i)*y;
		System.out.println("第"+i+"次切割,为正"+(6+6*i)+"边形,圆周率π≈"+π);
		y=Math.sqrt(2-Math.sqrt(4-y*y));
	}
	
}
}




方法二:无穷级数法

求圆周率π的级数公式为:



package 计算π的近似值;
import java.util.Scanner;
public class Example1 {
	public static void main(String[] args) {
          Scanner scan=new Scanner(System.in);
          System.out.println("请输入精度:");
         double z=scan.nextDouble();
         System.out.println("在精度为"+z+"的条件下,π约等于:\n"+jishuPI(z));
		
	}
	static double jishuPI(double z){
		double sum=2;
		int n=1;
		int m=3;
		double t=2;
		while(t>z){
			t=t*n/m;
			sum=sum+t;
			n++;
			m+=2;
			
			
		
		}
		return sum;
	}

}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: