24小时热门版块排行榜    

CyRhmU.jpeg
查看: 4035  |  回复: 12

yuyi2009

铜虫 (小有名气)

[求助] 关于随机双色球的一个程序已有1人参与

首先,先说说我的思路。
1.红球从1-33中选6个数,先乱序随机抽出一个数,然后剔除后如此往复,直到获得6个数。得到数字必须满足的条件是
相邻2个球之差必须有2或者1,但是又不能多于3个。
2.同上1-16中获得一个乱序随机数。
看到很多用ceil(rand*n)函数的,感觉和真实过程相差很多,而且产生的伪随机数第一次运行结果必相同。
我的问题是运行过程中出席那混乱,有时候会得到同号。
function Lucky_Dog
clear all
clc
k=0;
while(k<=0||k>=4)
     k=0;
     A = 1:33;
    for i = 1:6
    A=randperm(numel(A));
    Red_ball(i) = randsrc(1,1,A);
    A(find(A==Red_ball(i))) = [];
    end
  Red_ball = sort(Red_ball);
for j = 1:5
    Test = Red_ball(j+1)-Red_ball(j);
    if Test==2||Test==1
        k = k+1;
    end     
end
end
    B = 1:16;
    B=randperm(numel(B));
    Blue_ball = randsrc(1,1,B);
disp('红球')  
disp(Red_ball)
disp('蓝球')
disp(Blue_ball)
回复此楼

» 收录本帖的淘帖专辑推荐

文献

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yuyi2009

铜虫 (小有名气)

2楼2014-06-27 21:40:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yuyi2009

铜虫 (小有名气)

3楼2014-06-28 12:31:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yuyi2009

铜虫 (小有名气)

引用回帖:
3楼: Originally posted by yuyi2009 at 2014-06-28 12:31:41

呵呵~

[ 发自小木虫客户端 ]
4楼2014-06-29 01:03:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liuxinyu1206

银虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
xzhdty: 金币+1, 谢谢参与 2014-07-01 07:21:30
yuyi2009: 金币+20, 有帮助, 没有解释 2014-07-02 15:21:50
clear all
clc
k=0;  A = 1:33;  m=0;
while(k<=0||k>=4)
%      k=0;
    for i = 1:6
        m=1;
        if m==0
        A=randperm(numel(A));
        else
        Red_ball(i) = randsrc(1,1,A);
         A(find(A==Red_ball(i))) = [];
        end
    end
    Red_ball = sort(Red_ball);
    for j = 1:5
        Test = Red_ball(j+1)-Red_ball(j);
        if Test==2||Test==1
            k = k+1;
        end
    end
end
B = 1:16;
B=randperm(numel(B));
Blue_ball = randsrc(1,1,B);
disp('红球')
disp(Red_ball)
disp('蓝球')
disp(Blue_ball)
上帝创造了0和1,其余都是人的工作。
5楼2014-06-30 17:28:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yuyi2009

铜虫 (小有名气)

引用回帖:
5楼: Originally posted by liuxinyu1206 at 2014-06-30 17:28:11
clear all
clc
k=0;  A = 1:33;  m=0;
while(k<=0||k>=4)
%      k=0;
    for i = 1:6
        m=1;
        if m==0
        A=randperm(numel(A));
        else
        Red_ball(i) = randsrc ...

能够解释一下么~m=1,m=0有什么用啊!
6楼2014-06-30 23:02:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liujiankeng

铜虫 (小有名气)

“相邻2个球之差必须有2或者1,但是又不能多于3个”是什么意思,难道想让随机产生的数字都挤到一块去啊?
不认真你就输了
7楼2014-07-01 20:42:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ju5200

木虫 (正式写手)

帮顶!

[ 发自小木虫客户端 ]
8楼2014-07-02 09:09:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yuyi2009

铜虫 (小有名气)

引用回帖:
7楼: Originally posted by liujiankeng at 2014-07-01 20:42:34
“相邻2个球之差必须有2或者1,但是又不能多于3个”是什么意思,难道想让随机产生的数字都挤到一块去啊?

没有啊~你看看双色球号就知道了,90%不是有连号就是有相差为2的两个数,但是这种情况最多就3个~
9楼2014-07-02 15:21:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liuxinyu1206

银虫 (小有名气)

引用回帖:
6楼: Originally posted by yuyi2009 at 2014-06-30 23:02:11
能够解释一下么~m=1,m=0有什么用啊!...

区分第一次运行
上帝创造了0和1,其余都是人的工作。
10楼2014-07-04 10:29:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yuyi2009 的主题更新
信息提示
请填处理意见