Gostou do nosso conteúdo? Te ajudou?
Nos ajude também! Faça um PIX, de qualquer valor:
programacao.progressiva@gmail.com

Números Primos em PHP

"Faça um programa que peça um número inteiro e determine se ele é ou não um número primo. Um número primo é aquele que é divisível somente por ele mesmo e por 1."
Questão da lista de exercícios de Laço


Números primos

Dizemos que um número é primo quando ele só é divisível por 1 e por ele mesmo.
Por exemplo, 2 só é divisível por 1 e por 2.

4 é divisível por 1, por 2 e por 4, logo não é primo.

Lista de alguns primos: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211 ...

Script em PHP para detectar um primo

Para sabermos se um número n é primo, basta dividirmos ele por 2, por 3, por 4...por (n-1).
Se não for por nenhum deles, é  primo.

Começamos por $count=2, daí vamos dividir $n por $count.
Se for divisível, mostramos que aquele número é um divisor e armazenamos o tanto de divisíveis na variável $divisores, se não for, nada ocorre.

Ao final do laço, o valor armazenado em $divisores (que era inicialmente 0), vai nos dizer se tem divisores acima de 1 e abaixo de $n. Se tiver, ele não é primo.
Se não tiver, ele é primo.

Com um IF ELSE simples mostramos o resultado correto ao usuário:
<html>
 <head>
  <title>Apostila PHP Progressivo</title>
 </head>
 <body>
 <form action="" method="get">
  Digite um numero: <input type="number" name="number" /><br />
  <input type="submit" name="submit" value="testar" />
 </form> 
 <?php
  $n = $_GET['number'];
  $divisores = 0;
  
  for($count=2; $count<$n; $count++)
   if($n % $count == 0){
    echo "Multiplo de $count<br />";
    $divisores++;
   }
  
  if($divisores)  echo "Não é, tem $divisores divisores além de 1 e ele mesmo";
  else    echo "É primo!";
  
 ?>
 </body>
</html>