下面我们来介绍两种Java编程中实现计算圆周率的方法。
方法一:割圆法
计算公式为:
π≈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)); } } }
输出结果:
请输入割圆次数: 12 第0次切割,为正6边形,圆周率π≈3.0 第1次切割,为正12边形,圆周率π≈3.1058285412302498 第2次切割,为正18边形,圆周率π≈3.132628613281237 第3次切割,为正24边形,圆周率π≈3.139350203046872 第4次切割,为正30边形,圆周率π≈3.14103195089053 第5次切割,为正36边形,圆周率π≈3.1414524722853443 第6次切割,为正42边形,圆周率π≈3.141557607911622 第7次切割,为正48边形,圆周率π≈3.141583892148936 第8次切割,为正54边形,圆周率π≈3.1415904632367617 第9次切割,为正60边形,圆周率π≈3.1415921060430483 第10次切割,为正66边形,圆周率π≈3.1415925165881546 第11次切割,为正72边形,圆周率π≈3.1415926186407894 第12次切割,为正78边形,圆周率π≈3.1415926453212157
方法二:无穷级数法
求圆周率π的级数公式为:
Π=2*(1/1+1/3+1/3*2/5+1/3+2/5+3/7+1/3+2/5+3/7+4/9+···)
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; } }
输出为:
请输入精度: 1E-15 在精度为1.0E-15的条件下,π约等于: 3.141592653589792
总结
以上是圆周率π的计算方法的全部内容,希望对大家有所帮助!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。