i ja sam razmisljao nesto kao ivanhoe, na kraju sam nacrtao grafik i vidm da je to manje-vise neka logaritamska funkcija...
sad ja znam da je ovo daleko od idealnog, al radi posao
(pod pretpostavkom da je range 1 <-> x i da je n >= 2 )
Kôd:
function spec_rand($from,$to,$n){
$new_to=($n * ($to/2 + 0.5));
$u=rand($from,$new_to);
$final=round($to*(log(($u+(triag(1)*($n/$to))),($new_to))));
if($final==0){ $final=1; }
return $final;
}
-spec_rand(1,30,5) vraca mnogo vise brojeva blizih 30 nego spec_rand(1,30,2) gde mnogo cesce izbacuje brojeve manje od 15;
-spec_rand(1,30,100) vraca skoro uvek 22 i vece.. bas se retko zadesi manji od 20
naravno glavni je nedostatak sto se neki brojevi zbog zaokruzivanja ne pojavljuju redje, vec nikad