欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

蒙特卡洛算法

程序员文章站 2022-07-11 09:10:04
...

1.手动计算

link
计算两椭圆并的面积,随机仍很多的点

#include<cstdio>
#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
typedef long long ll;
int main()
{
    int n;
    scanf("%d",&n);
    while(n--){
        double a,b,c,d,ans=0;
        cin>>a>>b>>c>>d;
        for(double i=-8;i<=8;i+=0.01){
            for(double j=-8;j<=8;j+=0.01){
                if(i*i/a/a+j*j/b/b<=1||i*i/c/c+j*j/d/d<=1){//注意分母要分别除
                    ans++;
                }
            }
        }
        printf("%.1f\n",ans/10000);//10000=1600*1600/(16*16)
    }
    return 0;
}```

相关标签: 数学 概率论