圆周率是一个非常重要的常数。使用计算机程序计算圆周率有多种方法,如概率法、割圆法、公式法等等。我们将一一介绍。本文先介绍最常见的一种,概率法。模拟掷点,x,y,为方便计算,我们取一个以原点为圆心,半径为一的圆,然后在(0,1)内取x,y为随机数,当x平方加y平方小于1时,表明该点在第一象限的四分之一圆的范围内。理论上来说,掷点次数越多,得到的近似值越精确。
示例代码如下:
package com.maths;
import java.util.Scanner;
/**
* 求π的近似值
* 概率法
* @author jiangshuai
*
*/
public class PI {
public static void main(String[] args) {
int i,n,sum = 0;
double x,y;
System.out.println("请输入点的数量:");
Scanner scanner = new Scanner(System.in);
if(scanner.hasNext()) {
n = scanner.nextInt();
for(i=1;i<n;i++) {
x = Math.random();
y = Math.random();
if((x*x+y*y)<1) {
sum++;
}
}
System.out.println("在掷点"+n+"次的实验下,得到的π的近似值为:"+4*(sum)/(double)n);
}
}
}