Java使用Math.random()结合蒙特卡洛方法计算pi值示例

时间:2022-09-22 21:57:34

本文实例讲述了Java使用Math.random()结合蒙特卡洛方法计算pi值。分享给大家供大家参考,具体如下:

一、概述

蒙特·卡罗方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。与它对应的是确定性算法。

详细可参考百度百科:https://baike.baidu.com/item/%E8%92%99%E7%89%B9%C2%B7%E5%8D%A1%E7%BD%97%E6%96%B9%E6%B3%95

二、实现代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**
 * Monte Carlo algorithm
 */
import java.math.*;
public class PI {
  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    double xf = 0.0d;
    double yf = 0.0d;
    int total = 0;
    for(int i = 0;i<1000000;i++){
      xf = Math.random();
      yf = Math.random();
      if(Math.sqrt(xf*xf+yf*yf) < 1)
        total++;
    }
    System.out.println("服务器之家测试结果:");
    System.out.println(4*(total/1000000.0));
  }
}

运行结果:

Java使用Math.random()结合蒙特卡洛方法计算pi值示例

希望本文所述对大家java程序设计有所帮助。

原文链接:http://blog.csdn.net/baidu_22502417/article/details/46439267