Originariamente inviato da Brascka
Salve ha tutti, ho una piccola questione da risolvere.
Ho due valori che si sommano e danno un risultato e vorrei che mi trasformi in percentuale di riuscita di un determinato evento random.
Codice PHP:
//Prendo i parametri
$x=8;
$y=8;
//li sommo
$n=$x+$y;
//evento random
$result=rand(-1,20) %$n;
echo $result;
In pratica vorrei fare in modo che se il valore $n aumenta, aumenta la probabilità di fare un nuomero alto nel random, se inferiore sarà più difficile avere valori alti.
Ma come l'ho fatto io mi avviene una divisione :master:
Qualcuno sa come si fa?
beh prima devi impostarti un numero che funga da 0, quindi se il risultato è superiore al numero lo incrementa
es.:
Codice PHP:
<?
extract($_GET);
$result=probability($min,$max,$n);
echo "<pre>";
print_r($result);
function probability($min,$max,$cicles)
{
$int=$min+$max;
$middle=$int/2; // la metà della somma funge da 0 per up e down
echo $middle."
";
$down=0;
$up=0;
for ( $n = 1; $n <= $cicles; $n++ )
{
$generated=rand($min,$max);
//echo $generated."
";
if ( $generated > $middle) $up++;
else $down++;
}
$result=array();
$result['min']=$min;
$result['max']=$max;
$result['down']=$down;
$result['up']=$up;
$result['perc_up']=number_format( 100/($cicles/$up),2,".","");
$result['perc_down']=number_format(100-$result['perc_up'],2,".","");
return $result;
}
?>
pagina.php?min=300&max=39762534&n=18721