分别用理论计算和计算机模拟计算,求连续掷两颗骰子,点数之和大于6且第一次掷出的点数大于第二次掷出点数的概率。

分别用理论计算和计算机模拟计算,求连续掷两颗骰子,点数之和大于6且第一次掷出的点数大于第二次掷出点数的概率。

clear all;clc;

aa=5^15; MM=2^48; x1=5;

fprintf('蒙特卡罗方法解蒲丰氏问题 \n');

fprintf('作者:向东 2010年3月 \n');

N=input('请输入模拟试验次数(默认值N=100000) N=');

if isempty(N)

N=100000;

end

s=0;

for n=1:1:N;

x2=mod(aa*x1,MM);

x1=x2;

randomx=x2*1.0/MM;

test1=fix(6*randomx)+1;

x2=mod(aa*x1,MM);

x1=x2;

randomx=x2*1.0/MM;

test2=fix(6*randomx)+1;

if ((test1+test2)>6)&&(test1>test2)

s=s+1;

end

end

p=s*1.0/N;

fprintf('点数之和大于6且第一次掷出的点数大于第二次掷出点数的概率 = %d \n',p);

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐