Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Maxim Y. Zinyakov                    2:5065/21      18 Dec 2000  17:42:00
 To : Sergey Averichev
 Subject : Cards mixing
 -------------------------------------------------------------------------------- 
 
 
 18 Dec 00 14:17, you wrote to Sergei Boytsov:
 
  SA>   @randlist=(1..52);
  SA>   foreach $count(0..51)
  SA>   {
  SA>     $rnd=int(rand(@randlist));
  SA>     $x[$count]=$randlist[$rnd];
  SA>     splice (@randlist,$rnd,1);
  SA>   }
 
  SA> Может кто покороче сделает? Самому интересно.
 
 @a=1..52;
 while(@a){@arr=(@arr, splice(@a,int(rand($#a+1)),1))};
 
 В итоге, массив @arr содержит в себе перемешанные карты.
 есть "более другой" и очень короткий способ, но случайность в нем очень
 маленькая и предсказуемая:
 
 for(1..52){%hash{$_}++};@arr=keys %hash;
 Удачи!
 *Maqs.* [max@surt.sochi.ru]
 
 --- GoldED/LNX 3.0.1
  * Origin: WARNING! System paused: waiting for the miracle... (2:5065/21)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Cards mixing   Sergei Boytsov   18 Dec 2000 03:51:43 
 Cards mixing   Sergey Averichev   18 Dec 2000 15:17:48 
 Cards mixing   Maxim Y. Zinyakov   18 Dec 2000 17:42:00 
 Cards mixing   Sergey Averichev   19 Dec 2000 00:17:38 
 Re: Cards mixing   Ruslan Bondarev   18 Dec 2000 23:03:37 
 Re: Cards mixing   Artur Penttinen   21 Dec 2000 21:39:11 
 Cards mixing   Sergei Boytsov   18 Dec 2000 18:08:18 
 Cards mixing   Alexander Kostiuchenko   21 Jun 2001 06:09:06 
 Cards mixing   Marat Gizatullin   30 Dec 2000 18:52:21 
Архивное /ru.perl/18133a3e3fdf.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional