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 while
loop é (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.