求问一道C++题目

用蒙特卡洛方法计算阴影部分面积C++,产生随机数,答案是19.5039... 用蒙特卡洛方法计算阴影部分面积C++,产生随机数,答案是19.5039 展开
 我来答
windos2011
2018-04-29 · TA获得超过233个赞
知道小有建树答主
回答量:251
采纳率:84%
帮助的人:172万
展开全部

#include <iostream>
#include <random>
#include <ctime>
#include <cmath>
using namespace std;

int main()
{
    srand(time(0));
    double pointx;
    double pointy;
    double countnum=0;                //countnum为随机生成的10000000个点中在阴影部分的点
    for(int i=0;i<10000000;i++){     //随机生成10000000个点
        pointx=rand()%21;
        pointy=rand()%11;
        if(pointx/pointy>2.0){        //当点位于对角线下方时
                if(pointx<10&&pointx>=5){    //当点的x大于5小于10时
                    if(sqrt(pow(pointx-5,2)+pow((5-pointy),2))>=5)  //当点到左边第一个圆的距离大于半径时:
                        countnum++;
                }
                else  {
                        if(sqrt(pow(abs(pointx-15),2)+pow(abs(5-pointy),2))>=5)//当点到右边第一个圆的距离大于半径时:
                         countnum++;

                }

        }
    }

    cout<< countnum/10000000*100;  //求出出现在隐形部分的概率 乘于100为面积
    return 0;
}
更多追问追答
追问
不可以运行哦。出错了
补了
#include 也不对……
追答
我用code::block 运行正常  应该是缺少某个头文件 贴一下你的报错信息
1094668736
2018-04-29 · 超过12用户采纳过TA的回答
知道答主
回答量:74
采纳率:33%
帮助的人:27.8万
展开全部
百度作业帮比较好吧!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式