Toplamı Belirli Rastgele Ondalıklı Sayılar Üretmek

PHP
17 lines
<?php
class rastgeleOndalikliSayiOlustur{
public $sayiolustur = array();
function __construct($toplam, $kac){
$i = 0;
while ($i != $kac) {
if ($i == $kac - 1) { $this->sayiolustur[count($this->sayiolustur)] = $toplam; } else {
$this->sayiolustur[count($this->sayiolustur)] = round(lcg_value() * intval($toplam / rand(1, rand(2, $kac - $i))), 2);
$toplam -= $this->sayiolustur[count($this->sayiolustur) - 1];
}
$i++;
}
}
}
$r = new rastgeleOndalikliSayiOlustur(125, 6);
print_r($r->sayiolustur);
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
10 lines
Array
(
[0] => 26.29
[1] => 11.57
[2] => 41.69
[3] => 12.95
[4] => 14.69
[5] => 17.81
)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX