Comunidad PHPeros
Otros => Los Retos PHPeros => Mensaje iniciado 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.
-
<?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ío pero no hagas un copy pasta xD
-
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.
-
¿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.
-
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.
-
Esta es mi solución:
<?
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>
-
Llegas como 10 meses de inactividad.