分别用理论计算和计算机模拟计算,求连续掷两颗骰子,点数之和大于6且第一次掷出的点数大于第二次掷出点数的概率。
分别用理论计算和计算机模拟计算,求连续掷两颗骰子,点数之和大于6且第一次掷出的点数大于第二次掷出点数的概率。
clear all;clc;
aa=5^15; MM=2^48; x1=5;
fprintf('蒙特卡罗方法解蒲丰氏问题 \n');
fprintf('作者:向东 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);