|
|
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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/18133a3e3fdf.html, оценка из 5, голосов 10
|