Neste exemplo, você aprenderá a verificar se um número inteiro inserido pelo usuário é um número primo ou não.
Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação C:
- Declaração C if … else
- C para Loop
- C quebrar e continuar
Um número primo é um número inteiro positivo divisível apenas por 1
ele mesmo. Por exemplo: 2, 3, 5, 7, 11, 13, 17
Programa para verificar o número principal
#include int main() ( int n, i, flag = 0; printf("Enter a positive integer: "); scanf("%d", &n); for (i = 2; i <= n / 2; ++i) ( // condition for non-prime if (n % i == 0) ( flag = 1; break; ) ) if (n == 1) ( printf("1 is neither prime nor composite."); ) else ( if (flag == 0) printf("%d is a prime number.", n); else printf("%d is not a prime number.", n); ) return 0; )
Resultado
Insira um número inteiro positivo: 29 29 é um número primo.
No programa, um loop for é iterado de i = 2
para i < n/2
.
Em cada iteração, se n é perfeitamente divisível por i é verificado usando:
if (n % i == 0) ( )
Se n for perfeitamente divisível por i, n não é um número primo. Nesse caso, o sinalizador é definido como 1 e o loop é encerrado com a break
instrução.
Após o loop, se n for um número primo, o sinalizador ainda será 0. No entanto, se n for um número não primo, o sinalizador será 1.
Visite esta página para saber como você pode imprimir todos os números primos entre dois intervalos.