Autor Tema: [reto] números primos  (Leído 1558 veces)

Desconectado good

  • PHPerit@
  • *
  • Mensajes: 49
  • Karma: 0
  • Nuev@ PHPer@
    • Ver Perfil
[reto] números primos
« 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.

Comunidad PHPeros

[reto] números primos
« en: 26 de Agosto de 2011, 00:11:22 am »

Desconectado Siquillote

  • PHPero Master
  • ******
  • Mensajes: 4.229
  • Karma: 179
  • Sexo: Masculino
    • Ver Perfil
Re:[reto] números primos
« Respuesta #1 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

#Fdo. Physlet

Desconectado good

  • PHPerit@
  • *
  • Mensajes: 49
  • Karma: 0
  • Nuev@ PHPer@
    • Ver Perfil
Re:[reto] números primos
« Respuesta #2 en: 01 de Septiembre de 2011, 01:43:40 am »
tío pero no hagas un copy pasta xD

Desconectado Siquillote

  • PHPero Master
  • ******
  • Mensajes: 4.229
  • Karma: 179
  • Sexo: Masculino
    • Ver Perfil
Re:[reto] números primos
« Respuesta #3 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.

#Fdo. Physlet

Desconectado westwest

  • PHPero Master
  • ******
  • Mensajes: 2.837
  • Karma: 104
  • Sexo: Masculino
    • Ver Perfil
Re:[reto] números primos
« Respuesta #4 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.

Desconectado Siquillote

  • PHPero Master
  • ******
  • Mensajes: 4.229
  • Karma: 179
  • Sexo: Masculino
    • Ver Perfil
Re:[reto] números primos
« Respuesta #5 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.

#Fdo. Physlet

Desconectado bolorsociedad

  • PHPerit@
  • *
  • Mensajes: 1
  • Karma: 0
  • Nuev@ PHPer@
    • Ver Perfil
Re:[reto] números primos
« Respuesta #6 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>

Desconectado DonMW.

  • PHPer@
  • **
  • Mensajes: 51
  • Karma: -1
  • Nuev@ PHPer@
    • Ver Perfil
Re:[reto] números primos
« Respuesta #7 en: 22 de Julio de 2012, 12:42:10 pm »
Llegas como 10 meses de inactividad.