随机数求pai的问题,高中知识啊

来源:互联网 发布:魔域网络客服 编辑:程序博客网 时间:2024/04/29 11:46

   说起面试都是泪,之前碰到一个面试题,说是求pai,就是圆周率

  基本原理:设有一半径为r的圆及其外切四边形,在该正方形内随机投掷n个点。设落入圆内的点数为k。由于所投入的点在正方形上均匀分布,因而所投入的点落入圆内的概率为pai/4.所以当n足够大时,k与n之比就逼近这以概率,这样就可以求出pai了

  附带上源码:

 

package com.feitian.datastructs;/** * 通过计算机算pai * @author 肖华 * */public class GetPai {public static void main(String[] args) {System.out.println(new GetPai().darts(50000000));//5000w}public double darts(int n){int k=0;for(int i=1;i<=n;i++){double x=Math.random();//产生1以内的随机数double y=Math.random();if((x*x+y*y)<=1) k++;}return 4*k/((double)n);}}

//结果5000w 3.14151664 还可以哈,呵呵
转载请注明出处,谢谢 http://blog.csdn.net/xh199110 飞天博客

1 0