Codice PHP:
function unique_random($n,$tot){
    
srand ((double) microtime() * 1000000);
    for (
$i=1$i<=$n;$i++){
        
$random[$i] = mt_rand (1,$tot);
        
         echo 
"
$i : ".$random[$i];
        echo 
"
"
$i ."-> ".$random[$i-1]; /**/
        
if ($random[$i] == $random[$i-1] ){
            
$random[1]=$random[2]=0;
            echo 
"
n "
.$n;
            echo 
"
tot "
.$tot;
            
unique_random($n,$tot);
        }
    }
    return 
$random;
}
$random unique_random(2,4); 
Un problema che presenta questo algoritmo e' che se trova due numeri uguali alla fine torna 0 cioe' l'inizializzazione dell'array.

Che ne pensate?
Come lo risolvereste?