Neste exemplo, você aprenderá a imprimir todos os números primos entre dois números (inseridos pelo usuário).
Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação C:
- C para Loop
- C quebrar e continuar
- Funções C
- C Funções definidas pelo usuário
Para encontrar todos os números primos entre os dois inteiros, checkPrimeNumber()
é criado. Esta função verifica se um número é primo ou não.
Números primos entre dois inteiros
#include int checkPrimeNumber(int n); int main() ( int n1, n2, i, flag; printf("Enter two positive integers: "); scanf("%d %d", &n1, &n2); printf("Prime numbers between %d and %d are: ", n1, n2); for (i = n1 + 1; i < n2; ++i) ( // flag will be equal to 1 if i is prime flag = checkPrimeNumber(i); if (flag == 1) printf("%d ", i); ) return 0; ) // user-defined function to check prime number int checkPrimeNumber(int n) ( int j, flag = 1; for (j = 2; j <= n / 2; ++j) ( if (n % j == 0) ( flag = 0; break; ) ) return flag; )
Resultado
Insira dois inteiros positivos: 12 30 Os números primos entre 12 e 30 são: 13 17 19 23 29
Se o usuário inserir o número maior primeiro, este programa não funcionará conforme o esperado. Para resolver esse problema, você precisa trocar os números primeiro.