问题标题: 酷町堂:蒙特卡罗

0
0
已解决
李泽远
李泽远
高级天翼
高级天翼

众所周知,冯·诺依曼提出的蒙特卡罗算法是用来算π的。

不过这精确度。。。

#include<iostream>
#include<cstdio> 
#include<stdlib.h>
using namespace std;
double Pi(int n){
    double x,y;
    int cnt=0;
    for(int i=0;i<n;i++){
        x=rand()/double(RAND_MAX);
        y=rand()/double(RAND_MAX);
        if(x*x+y*y<=1)
            cnt++;
    }
    return cnt*4.0/n;
    
}
int main(){
    int x,y;
    cin>>x;
    printf("%f",Pi(x));
    return 0;
}

怎么提高精确度?

lim n->∞时,π才是准确的 ,不过n太大了程序太慢,我太难了

李泽远在2020-06-18 22:01:31追加了内容

李泽远在2020-06-21 20:21:27追加了内容


0
已采纳
被禁言 姜思远
姜思远
初级光能
初级光能

大佬,采纳一下吧。

你这个问题太太太太太难了(小周护体)

0
0
张峻僮
张峻僮
中级守护
中级守护

你在我的评论说的什么

0
董宇昊
董宇昊
初级启示者
初级启示者

太慢了?加个火箭头呗

0
0
张恩泽
张恩泽
高级天翼
高级天翼

高精度......(好吧,你说的我什么也听不懂)

0
0
刘英杰
刘英杰
新手天翼
新手天翼

C++有个加速语句,可以上网查查

具体加速,如果程序本身很美,加几万倍不是问题

就是看电脑硬件

它就是把c++所有硬件全部分配运算并提高运算效率

我要回答