Perl 产生不重复的随机数

9568阅读 0评论2011-07-04 neobilly
分类:Python/Ruby

  1. #!/usr/bin/perl
  2. my %sns = ();
  3. for(my $i = 0;$i < 10; $i ++) {
  4.    my $range = 100;
  5.    do{
  6.    $no = rand($range);
  7.    $no = int($no);
  8.    $no = $no * 3 + 1;
  9.    
  10.    }while($sns{"$no"} == 1);
  11.    $sns{"$no"} = 1;
  12.    print "$no\n";

  13. }
随机产生10个3n+1的随机数,这10个数不重复,
用到了hash 来保存产生过的序列号,使得查找速度为O(1)
int(rand(100))为产生随机int

Over

上一篇:cURL char made graph
下一篇:MySQL libmysqlclient.a libmysqlclient.so