前言
Π值是很一个神奇的数,从我们上小学的时候就开始接触他了,而现在依靠计算机强大的算力,能够计算出∏值后面的几百万位甚至几十亿倍。Π值对于我们今天的生活方面和科技方面带来了许多的影响。
一,原理
该代码的原理很简单,就是在一个正方形中,不断的产生随机的点,在计算这些点距离正方形中点的距离,判断这个点是否在这个正方形中内切圆的内部,再将出现在圆内部的所有点的个数加起来除以产生全部点的个数,就能近似的得到∏值了。
二:运行过程
运行过程所花费的时间越长,则计算出来的∏值精度越高,可以直接修改循环中i和j值得范围或者嵌套for循环,来增加运行时长,从而提高计算的精度。
三:整体代码
package helloworld;
import java.math.BigDecimal;
public class str1 {
public static void main(String[] args) {
int B,C;
BigDecimal D1=new BigDecimal("0");
BigDecimal D2=new BigDecimal("0");
BigDecimal D3=new BigDecimal("1");
for(int i=0;i<2000;i++)
{
for(int j=0;j<10000000;j++)
{
B=(int)(0+Math.random()*100000001);
C=(int)(0+Math.random()*100000001);
if(Math.sqrt(Math.pow(B-50000000,2)+Math.pow(C-50000000,2))<=50000000)
{
D1=D1.add(D3);
}
else
{
D2=D2.add(D3);
}
}
}
D2=D2.add(D1);
BigDecimal D4=new BigDecimal("4");
System.out.println(D1.multiply(D4).divide(D2));
}
}