用割圆术求圆周率π

来源:互联网 发布:四川省政府采购网通知 编辑:程序博客网 时间:2024/06/16 11:43

圆周率π的递推公式如下:

     

     以半径为1的圆开始,依次在圆内画正六边形、正十二边形、正6n边形...

     只有n趋近于无穷大,便可以得到足够接近圆的正多边形,计算的圆周率π也就越精确。

完整代码如下:

package cn.whut.num;import java.util.Scanner;public class pai {static void cyclotomic(int n)//割圆术算法{int i,s;double k,len;i=0;k=3.0;//初值len=1.0;//边长初值s=6;//初始内接正6边形while(i<=n)    {        System.out.printf("第%2d次切割,为正%5d边形,PI=%.24f\n",i,s,k*Math.sqrt(len));        s*=2;//边数加倍         len=2-Math.sqrt(4-len); //内接多边形的边长         i++;        k*=2.0;            } }public static void main(String[] args) {int n;    System.out.print("输入切割次数:");    Scanner input=new Scanner(System.in);    n=input.nextInt(); //输入切割次数cyclotomic(n);//计算每次切割的圆周率}}

效果如下:


 

 

 

1 0
原创粉丝点击