下面我们来介绍两种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
总结
以上是圆周率π的计算方法的全部内容,希望对大家有所帮助!
这是我的代码: 由于某种原因,与可接受值相比,这段代码只产生了小数15位的pi值。我试图通过增加精度值来解决这一点;这增加了位数,但只有前15个仍然是准确的。我试着改变它计算算法的方式,它也不起作用。所以我的问题是,是否可以对这段代码做些什么来使它更加精确,或者我必须使用另一种算法?我将非常感谢对此的帮助,因为我不知道如何在Python中使用这么多的数字进行操作。我希望能够控制程序确定和显示的(正
js实现pi(圆周率)的无限计算。 现在需要可以无限计算pi的结果,或者可以指定获取小数点后多少位的值。 虽然有 Math.pi() 但只有 “3.141592653589793” 。
本文向大家介绍java实现代码统计小程序,包括了java实现代码统计小程序的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java代码统计小程序,供大家参考,具体内容如下 可以测试每周你的工作量 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍Java小程序求圆的周长和面积实例 原创,包括了Java小程序求圆的周长和面积实例 原创的使用技巧和注意事项,需要的朋友参考一下 在Java学习的过程中,需要经常拿一些小程序来练习。今天,我们就来看看一个利用蒙特卡洛算法计算圆周率,并输出指定半径的圆的周长和面积的小程序。 代码如下: 输出: 然后你就可以在控制台输入点的个数,求圆周率的近似值,再输入想要求的圆的半径,就可以得到周长和
我正在制作一个方法,该方法应该计算一定时期内某个金额的利率(这些值已经在参数中定义)。这是我到目前为止拥有的代码: 我正在制作嵌套的for循环,正如您在那里看到的那样,那里缺少代码。这里我遇到了一些麻烦。第一个for循环贯穿年份,另一个应该计算总量。为了清楚变量“int年份”中定义的年份,假设它是7,那么程序应该计算每年数量的增长,因此: 主要方法如下所示: 我很感激我能得到的任何帮助!
问题内容: 我正在上我的第一门Java编程课,这是我的一流项目。我对如何处理感到困惑。任何帮助或纠正将不胜感激。 您可以通过使用以下序列来近似常量PI的值: 提示用户输入i的值(换言之,使用该系列中的多少项)来计算PI。例如,如果用户输入10000,则求和该系列的前10,000个元素,然后显示结果。 除了显示最终结果(您的PI的最终近似值)外,我还希望您沿中间结果以每10次幂计算的方式显示。因此,