Comunidad PHPeros

Otros => Los Retos PHPeros => Mensaje iniciado por: good en 26 de Agosto de 2011, 00:11:22 am

Título: [reto] números primos
Publicado por: good en 26 de Agosto de 2011, 00:11:22 am
el problema es sencillo, una función booleana que devuelva TRUE o FALSE en función de si el número pasado como parámetro sea primo o no

hay que aplicar un algoritmo de la Criba de Eratóstenes.
Título: Re:[reto] números primos
Publicado por: Siquillote en 26 de Agosto de 2011, 01:02:13 am


 <?php
 
/* Sieve Of Erathosthenes by Denis Sureau */
 
function eratosthenes($n)
{
   $all=array();
   $prime=1;
   echo 1," ",2;
   $i=3;
   while($i<=$n)
   {
        if(!in_array($i,$all))
         {
            echo " ",$i;
            $prime+=1;
            $j=$i;
            while($j<=($n/$i))
            {
               array_push($all,$i*$j);
               $j+=1;
            }
         }
        $i+=2;
   }
   echo "\n";
   return;
}
 
eratosthenes(50);
?>


Fuente WikiBooks (http://es.wikibooks.org/wiki/Implementaci%C3%B3n_de_algoritmos_de_teor%C3%ADa_de_n%C3%BAmeros/Criba_de_Erat%C3%B3stenes)
Título: Re:[reto] números primos
Publicado por: good en 01 de Septiembre de 2011, 01:43:40 am
tío pero no hagas un copy pasta xD
Título: Re:[reto] números primos
Publicado por: Siquillote en 01 de Septiembre de 2011, 14:50:17 pm

tío pero no hagas un copy pasta xD

¿Y que hubiese pasado si le hubiese quitado los derechos, hubiese cambiado las variables y el valor? ¿Sería "apto"? Yo creo que no tiene que ver nada, el fin de esto es proporcionar material educativo por y para todos.
Título: Re:[reto] números primos
Publicado por: westwest en 01 de Septiembre de 2011, 23:06:01 pm
¿Y que hubiese pasado si le hubiese quitado los derechos, hubiese cambiado las variables y el valor? ¿Sería "apto"? Yo creo que no tiene que ver nada, el fin de esto es proporcionar material educativo por y para todos.

No, esto se basa en pensar y crear un código propio para aprender y tener un reto.
Título: Re:[reto] números primos
Publicado por: Siquillote en 01 de Septiembre de 2011, 23:09:24 pm

No, esto se basa en pensar y crear un código propio para aprender y tener un reto.

Si bueno, visto así, también.

Un saludo,
Ángel.
Título: Re:[reto] números primos
Publicado por: bolorsociedad en 22 de Julio de 2012, 11:23:38 am
Esta es mi solución:

Código: [Seleccionar]
<?
if (!empty($_POST['n'])) {

$n = $_POST['n'];


$numeros = array();

for ($i=1; $i<=$n; $i++) {
$numeros[$i]=1;
}

for ($i=2; $i<$n; $i++) {

for ($v=1; $i * $v <=$n; $v++) {
$numeros[$i * $v] = 0;

}


}

if ($numeros[$n] == 1) {
echo 'Primo';
} else {
echo 'No primo';
}



}



?>


<form action="#" method="post">
<input type="text" name="n"><br><input type="submit">
</form>
Título: Re:[reto] números primos
Publicado por: DonMW. en 22 de Julio de 2012, 12:42:10 pm
Llegas como 10 meses de inactividad.