Autor | Zpráva | ||
---|---|---|---|
sloncz Profil |
Dobrý den, vůbec si nevím rady, takže prosím o radu.
Mám např. číslo 100 v proměnné $cislo = 100; a já potřebuji to číslo rozdělit na 4 části, ale tak, aby to nebylo $c1 = 25; $c2 = 25; $c3 = 25; $c4 = 25; ale třeba $c1 = 26; $c2 = 45; $c3 = 16; $c4 = 13; a po refreshu stránky zase jiné rozdělení, ale součet musí vždy být to $cislo
Předem všem děkuji za rady :) |
||
Alphard Profil |
#2 · Zasláno: 15. 5. 2014, 22:28:19
$in = 100; $partsCount = 4; $parts = []; for ($i = 0; $i < $partsCount-1; $i++) { $parts[$i] = rand(0, $in); $in -= $parts[$i]; } $parts[$partsCount] = $in; var_dump($parts); |
||
juriad Profil |
#3 · Zasláno: 15. 5. 2014, 22:34:25
Alphard:
Toto sice vrací náhodné čtverice, ale rozhodně ne všechny se stejným rozdělením. Výběr n-tého čísla totiž závisí na výběru (n-1)-ho. Tedy první prvek bude větší mít větší střední hodnotu než ostatní. Průměrný výběr totiž vyjde: 50, 25, 12, 13. |
||
Chro Profil |
#4 · Zasláno: 15. 5. 2014, 22:36:35
$celek = 100; $a = rand(1, (int) ($celek/5)); $b = rand(1, (int) ($celek/4)); $c = rand(1, (int) ($celek/3)); $d = $celek - $a - $b - $c; |
||
Alphard Profil |
|||
Časová prodleva: 11 let
|
0