fork download
  1. <?php
  2. function azarSuffle($min, $max, $cantidad) {
  3. $numeros = range($min, $max);
  4. shuffle($numeros );
  5. return array_slice($numeros, 0, $cantidad);
  6. }
  7. function azarBruto($min, $max, $cantidad) {
  8. $numeros=array();
  9. while (count($numeros)<$cantidad){
  10. $aleatorio=rand($min, $max);
  11. if (!in_array($aleatorio, $numeros)) $numeros[]=$aleatorio;
  12. }
  13. return $numeros;
  14. }
  15. function azarMejor($min, $max, $cantidad) {
  16. $numeros = range($min, $max);
  17. return array_rand($numeros, $cantidad);
  18. }
  19.  
  20. $ini=round(microtime(true) * 1000);
  21. for ($i=0;$i<1000;$i++)
  22. azarSuffle(1,49,5);
  23. $fin=round(microtime(true) * 1000);
  24. $tiempoSuffle=$fin-$ini;
  25.  
  26. $ini=round(microtime(true) * 1000);
  27. for ($i=0;$i<1000;$i++)
  28. azarBruto(1,49,5);
  29. $fin=round(microtime(true) * 1000);
  30. $tiempoBruto=$fin-$ini;
  31.  
  32. $ini=round(microtime(true) * 1000);
  33. for ($i=0;$i<1000;$i++)
  34. azarMejor(1,49,5);
  35. $fin=round(microtime(true) * 1000);
  36. $tiempoMejor=$fin-$ini;
  37.  
  38. echo "Con suffle: ".$tiempoSuffle."\n";
  39. echo "Fuerza bruta: ".$tiempoBruto."\n";
  40. echo "Mejor: ".$tiempoMejor;
  41. ?>
Success #stdin #stdout 0.04s 20568KB
stdin
Standard input is empty
stdout
Con suffle: 13
Fuerza bruta: 7
Mejor: 11