matlab中,在1—2000的整数中随机地取一个数,问取到的整数既不能被6整除,又不能被8整除的概率是多少?求程序过程
问题描述:
matlab中,在1—2000的整数中随机地取一个数,问取到的整数既不能被6整除,又不能被8整除的概率是多少?求程序过程
答
我不知道你弄这个问题是需要实验求解还是数学求解.
数学求解容易:求出所有可以整除6或整除8个个数:2000/6+2000/8-2000/(6和8的最小公倍数)=333+250-83=500 (所有取值向下取整)
从而概率为:(2000-500)/2000=0.75
如果使用MATLAB实验求解,如下程序.
m=2000; %总数
n=0; %计数器
k=100000; %matlab计算次数
for i=1:k
rou=ceil(rand*m); %随机生成一个1到m的整数
if mod(rou,6)~=0 & mod(rou,8)~=0
%不被6整除且不被8整除时取整
n=n+1;
end
end
n/k
这个程序每次运算结果不一样,因为是随机实验,可以调整K的大小开考虑试验次数,其结果基本上是在0.75左右的.