时间:2021-05-20
下面我们来介绍两种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总结
以上是圆周率π的计算方法的全部内容,希望对大家有所帮助!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了php求圆周率的简单实现方法。分享给大家供大家参考,具体如下:前面一篇《C语言求圆周率》给出了一个圆周率的简单计算方法,这里借鉴前面的代码给出ph
在Java学习的过程中,需要经常拿一些小程序来练习。今天,我们就来看看一个利用蒙特卡洛算法计算圆周率,并输出指定半径的圆的周长和面积的小程序。代码如下:/***
本文实例讲述了Python实现计算圆周率π的值到任意位的方法。分享给大家供大家参考,具体如下:一、需求分析输入想要计算到小数点后的位数,计算圆周率π的值。二、算
本文实例讲述了python使用三角迭代计算圆周率PI的方法。分享给大家供大家参考。具体如下:方法1:复制代码代码如下:#CalculatingPIusingtr
本文实例讲述了python计算圆周率pi的方法。分享给大家供大家参考。具体如下:fromsysimportstdoutscale=10000maxarr=280