C++ 用编程写出数学概率问题

我不懂C++程序,之前在这里请教的一个问题得到了帮忙。现在还剩另个问题需要大家帮忙。题目如下:X,Y,Z为0和1之间的均匀分布的三个数,什么情况下可以实现x+y+z>1?... 我不懂C++程序,之前在这里请教的一个问题得到了帮忙。现在还剩另个问题需要大家帮忙。题目如下:
X,Y,Z为0和1之间的均匀分布的三个数,什么情况下可以实现x+y+z>1?
(原题目为:x,y,z have a uniform
distribution between 0 and 1. What's the probability that x+y+z>1?

在论坛上一个朋友帮我个出的是
“xyz坐标系统上画一个立方体,再画出x+y+z=1的面,原来它就是一个切去了立方体一个角的截面。这个切下来的角的体积是s=1/3*1/2=1/6,所以x+y+z>1的几率是5/6。”
但没有程序,所以想在这里看看谁可以帮我写出此C++程序。
展开
 我来答
8826055
2015-10-25 · TA获得超过7510个赞
知道大有可为答主
回答量:1680
采纳率:81%
帮助的人:895万
展开全部

数学结果就是5/6,干嘛还要验证。。

#include <chrono>
#include <iostream>
#include <random>
using namespace std;
int main() {
unsigned seed = 
    chrono::system_clock::now().time_since_epoch().count();
mt19937 g(seed);
uniform_real_distribution<double> d(0.0, 1.0);
const unsigned N = 10000;
unsigned count = 0;
for (unsigned i = 0; i != N; ++i)
if (d(g) + d(g) + d(g) > 1) ++count;
cout << count << "/" << N << endl;
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式