Informática, perguntado por Marcola011, 9 meses atrás

Conforme o script PHP abaixo, com a intenção de imprimir números primos em tela:
// primo - > divisivel por 1 e por ele mesmo
$limite = 20;
for($n = 1; $n <= $limite; $n++){
$primo = 1;
for($x = 1; $x <= $n;$x++){
if ($x > 2 && $x < $n){
if($n%$x == 0){
$primo = 0;
}
}
}
if ($primo){
echo "$n ";
}
}
O resultado da execução foi : 2 3 4 5 7 11 13 17 19. Sabemos que 4 não é um número primo.

Altere o código de forma que a lógica e o resultado sejam corretos.

Soluções para a tarefa

Respondido por smcodes000
1

$limite = 20;

for($n = 1; $n <= $limite; $n++){

 $primo = 0;

 for($x = $n; $x >= 1;$x--){

     if(($n % $x) == 0){

      $primo++;

     }

 }

 if ($primo == 2){

  echo "$n ";

 }

}

Resultados: [ 2 3 5 7 11 13 17 19 ]

Perguntas interessantes