Programa C ++ para exibir números primos entre dois intervalos

Exemplo para imprimir todos os números primos entre dois números (inseridos pelo usuário) na Programação C ++. Este problema é resolvido usando o loop for aninhado e a instrução if… else.

Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação C ++:

  • C ++ if, if … else e aninhado if … else
  • C ++ para Loop
  • Instrução C ++ break and continue

Exemplo # 1: Exibir números primos entre dois intervalos

 #include using namespace std; int main() ( int low, high, i; bool isPrime = true; cout <> low>> high; cout << "Prime numbers between " << low << " and " << high << " are: " << endl; while (low < high) ( isPrime = true; if (low == 0 || low == 1) ( isPrime = false; ) else ( for (i = 2; i <= low / 2; ++i) ( if (low % i == 0) ( isPrime = false; break; ) ) ) if (isPrime) cout << low << " "; ++low; ) return 0; ) 

Resultado

 Insira dois números (intervalos): 0 20 Os números primos entre 0 e 20 são: 2 3 5 7 11 13 17 19

Neste programa, o whileloop é (high - low - 1)repetido vezes.

Em cada iteração, se baixo é um número primo ou não, é verificado e o valor de baixo é incrementado em 1 até que baixo seja igual a alto.

Visite esta página para aprender mais sobre como verificar se um número é primo ou não.

Se o usuário inserir um número maior primeiro, este programa não funcionará conforme o esperado. Você pode resolver esse problema trocando os números se o usuário inserir um número maior primeiro.

Exemplo # 2: Exibir números primos quando um número maior for inserido primeiro

 #include using namespace std; int main() ( int low, high, temp, i; bool isPrime; cout <> low>> high; //swapping numbers if low is greater than high if (low> high) ( temp = low; low = high; high = temp; ) cout << "Prime numbers between " << low << " and " << high << " are:" << endl; while (low < high) ( isPrime = true; if (low == 0 || low == 1) ( isPrime = false; ) else ( for (i = 2; i <= low / 2; ++i) ( if (low % i == 0) ( isPrime = false; break; ) ) ) if (isPrime) cout << low << " "; ++low; ) return 0; ) 

Resultado

 Digite dois números (intervalos): 20 0 Os números primos entre 0 e 20 são: 2 3 5 7 11 13 17 19

Visite esta página para saber como você pode exibir todos os números primos entre dois intervalos usando a função definida pelo usuário.

Artigos interessantes...