概率算法

概率算法

概率算法依照概率统计的思路来求解问题,其往往不能得到问题的精确解,但是在数值计算领域得到了广泛的应用。因为很多数学问题,往往没有或者很难计算解析,此时便需要通过数值计算来求解近似值。

概率算法执行基本过程:
1. 将问题转化为相应的几何图形S,S的面积容易计算,问题的结果往往对应几何图形中一部分S1的面积。
2. 然后,向几何图形中随机撒点。
3. 统计几何图形S和S1中的点数。根据S和S1面积的关系及各图形中的点数来计算得到结果。
4. 判断上述结果是否在需要的精度内,如果未达到精度则执行步骤(2)。如果达到精度,则输出结果。

计算圆周率 π

public class P3_5 {

    static double MontePI(int n){
        double PI;
        double x,y;
        int i,sum;
        sum = 0;
        for(i=1;i<n;i++){
            x = Math.random();
            y = Math.random();
            if((x*x+y*y)<=1)sum++;
        }
        PI = 4.0*sum/n;
        return PI;
    }

    public static void main(String[] args) {
        int n;
        double PI;
        System.out.println("概率算法!");
        Scanner input = new Scanner(System.in);
        n = input.nextInt();
        PI = MontePI(n);
        System.out.println("PI = " + PI);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值