Разделить 100% на 4 случайных числа

Печать RSS
1524


2000 лет д.н.э.
0
<?
$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);

Чатланин
0
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);
переменная s1 почти всегда будет содержать большее значение остальных

2000 лет д.н.э.
0
Виталик Альянс (19 Мая 2012 / 19:34)
переменная s1 почти всегда будет содержать большее значение остальных
Ну и что? Перемешай их, если это принципиально)
Изменил: ramzes
P

Землянин
0
<?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";

?>

Голубые штаны
0
22. ramzes, цифры в переменных - первый признак УГ кода. Рома, ты не похож сам на себя. Не ожидал. sad

2000 лет д.н.э.
0
26. dima.london, ***код это ***овая логика кода, и непонятные имена обьектов.
А это наглядность
з.ы. говн0код это долбанный сипле_хмл
С

Малиновые штаны
0
Бросайте этот пыхыпы и переходите на Rails
P

Землянин
0
26. dima.london, Ты сам-то понял, чо сказал? Цифры в переменных? Как раз цифры в переменных - нормальная практика.
28. sanzstez, рады бы, да велик даже с костылями по ним плохо едет.

Землянин
0
sanzstez (19 Мая 2012 / 21:52)
Бросайте этот пыхыпы и переходите на Rails
Может быть ruby? rails это ведь фреймворк, а не яп .
В

Пришелец
0
$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;

49 :: 15 :: 35 :: 1

жалко быстро решаемая типа smile
Стикеры / Теги / Правила