<? $s1 = mt_rand(1, 97); $s2 = mt_rand(1, 98-$s1); $s3 = mt_rand(1, 99-$s1-$s2); $s4 = mt_rand(1, 100-$s1-$s2-$s3);
ramzes (19 Мая 2012 / 16:50) <? $s1 = mt_rand(1, 97); $s2 = mt_rand(1, 98-$s1); $s3 = mt_rand(1, 99-$s1-$s2); $s4 = mt_rand(1, 100-$s1-$s2-$s3);
Виталик Альянс (19 Мая 2012 / 19:34) переменная s1 почти всегда будет содержать большее значение остальных
<?php function getRandomNumbers($count,$sum){ $numbers=array(); for($i=$count;$i>1;$i--){ $rand=ceil(mt_rand(1,$sum)/$i); $sum-=$rand; $numbers[]=$rand; } $numbers[]=$sum; shuffle($numbers); return $numbers; } // Testing $numbers=getRandomNumbers(4,100); print_r($numbers); echo "\r\n"; echo 'min: '.min($numbers)."\r\n"; echo 'max: '.max($numbers)."\r\n"; echo 'sum: '.array_sum($numbers)."\r\n"; ?>
sanzstez (19 Мая 2012 / 21:52) Бросайте этот пыхыпы и переходите на Rails
$s1 = mt_rand(1, 100); $s2 = mt_rand(1, 100-$s1); $s3 = mt_rand(1, 100-$s1-$s2); $s4 = 100-$s1-$s2-$s3; echo $s1.' :: '.$s2.' :: '.$s3.' :: '.$s4;