怎么从1-35里取出5个数

怎么从1-35里取出5个数



[Copy to clipboard] [ - ]
CODE:
#!/usr/bin/perl -w
my $a = int(1 + rand 35);

这是从1-35里面取出1个数字,我想取出五个数字怎么写,不能有重复的数字!谢谢!

笨点办法用散列
呵呵,每次买大乐透都要算,我想写一个然后每次买彩票的时候就运行一下就买这个号码,呵呵
my %num;

do {
    my $rn = int(1 + rand 35);
    $num{$rn} = $rn;
} while (scalar keys %num < 5);

print join("\t", keys %num), "\n";


不知道这个咋样


QUOTE:
原帖由 gamester88 于 2008-10-23 17:00 发表
呵呵,每次买大乐透都要算,我想写一个然后每次买彩票的时候就运行一下就买这个号码,呵呵

BTW: 你中过多少次?
呵呵,我如果中一次就不干了,不过买大乐透的幸运彩中过几次,就买后区是12选2,中了是60元
老大,你的代码是可以,就是我看了有点晕,呵呵,我才学习perl,不要见怪
前面是35选5,后面是12选2的彩票
#!/usr/bin/perl -w

use strict;
use warnings;

my $max = shift || 35;
my $used = shift || 5;
my %num;

do {
    my $rn = 1 + int(rand $max);
    $num{$rn} = $rn;
} while (scalar keys %num < $used);

print join("\t", keys %num), "\n";



修改一下数值即可
呵呵,真是感谢啊!谢谢!