Introdução ao número primo em C ++

Qual é o número primo? Qualquer número maior que 1 e deve ser dividido por 1 ou o próprio número é chamado de número primo. Como os números primos não podem ser divididos por nenhum outro número, ele deve ser apenas o mesmo número ou 1. Por exemplo, aqui está a lista de números primos em C ++ que são divisíveis por 1 ou pelo próprio número.

Lista de alguns números primos

2 3 5 7 11 13 17 19 23 29 31 37 41…

Você pode estar pensando por que 2 é considerado um número primo? Bem, é uma exceção, portanto, 2 é o único número primo na lista que também é par. Apenas dois números são números naturais consecutivos que são primos também! Além disso, 2 é o menor número primo.

A lógica por trás do número primo é que, se você deseja encontrar números primos em uma lista de números, deve aplicar as lógicas abaixo mencionadas:

Se o número fornecido é divisível por si só ou 1, 2 é o único número par primo que é uma exceção. Lembre-se sempre. Divida o número fornecido por 2, se você receber um número inteiro, o número não poderá ser primo!

Exceto 2 e 3, todos os números primos podem ser expressos na forma 6n + 1 ou 6n-1, n é um número natural.

Não existe um único número primo que termine com 5 maior que 5. Porque logicamente qualquer número maior que 5 pode ser facilmente dividido por 5.

Para uma explicação mais clara que suporta toda a lógica acima, aqui está a tabela de todos os números primos até 401:

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 223 227
229 233 239 241 251 257 263 269 271 277
281 283 293 307 311 313 317 331 337 347
349 353 359 367 373 379 383 389 397 401

Números Primos Usando Vários Métodos

Agora vamos ver como encontrar números primos usando vários métodos, como loop for, while loop, loop do-while. A saída será a mesma nos três casos de loop, porque a lógica é a mesma, apenas a maneira de implementar é diferente.

Veremos isso através de um código C ++ separadamente para cada loop.

Exemplo 1

Encontrar um número primo usando o loop for

Código:

#include
#include
using namespace std;
int main() (
int x; // Declaring a variable x
cout << "Please enter the number : "; // cout to get the input value from user
cin >> x;
cout << "Here is the list of all the prime numbers Below "<< x << endl;
for ( int m=2; m for ( int n=2; n*n<=m; n++)
(
if ( m % n == 0)
break;
else if ( n+1 > sqrt (m)) (
cout << m << endl;
)
)
return 0;
)
#include
#include
using namespace std;
int main() (
int x; // Declaring a variable x
cout << "Please enter the number : "; // cout to get the input value from user
cin >> x;
cout << "Here is the list of all the prime numbers Below "<< x << endl;
for ( int m=2; m for ( int n=2; n*n<=m; n++)
(
if ( m % n == 0)
break;
else if ( n+1 > sqrt (m)) (
cout << m << endl;
)
)
return 0;
)

Resultado:

Como você pode ver no código acima, pegamos dois para loops, porque precisamos de uma lista de números primos que estarão abaixo do número fornecido em nosso programa. Incluímos o loop for dentro de outro loop for para facilitar o cálculo. Uma condição é adicionada através da instrução if para interromper o loop assim que atingirmos o número especificado no código.

Exemplo 2

Localizando um número primo usando o loop for com if-else

Código:

#include
using namespace std;
int main ()
(
int number, x, count = 0;
cout << "Please enter the number to check if it's prime or not : " << endl;
cin >> number;
if ( number == 0)
(
cout << "\n" << number << " This number is not prime";
exit(1);
)
else (
for ( x=2; x < number; x++)
if ( number % x == 0)
count++;
)
if ( count > 1)
cout << "\n" << number << " This number is not prime.";
else
cout << "\n" << number << " This is prime number.";
return 0;
)

Resultado:

Exemplo 3

Localizando um número primo usando o loop WHILE com if-else

Código:

#include
using namespace std;
int main()
(
int lower, higher, flag, temporary;
cout << "Please enter the two numbers for finding prime numbers between them: "<< endl;
cin >> lower >> higher;
if ( lower > higher) ( //It will swap the numbers if lower number is greater than higher number.
temporary = lower;
lower = higher;
higher = temporary;
)
cout << "Hence the Prime numbers between the number " << lower << " and " << higher << " are: "<< endl;
while ( lower < higher)
(
flag = 0;
for ( int x = 2; x <= lower/2; ++x)
(
if ( lower % x == 0)
(
flag = 1;
break;
)
)
if ( flag == 0)
cout << lower << " ";
++lower;
)
return 0;
)

Resultado:

No código acima, consideramos números inteiros como um número mais baixo, número mais alto, variável temporária e um sinalizador. Inicialmente, tomamos dois números, pois uma entrada é menor enquanto o outro é maior. Caso o número mais baixo seja maior que o número mais alto, esses números serão trocados por uma variável temporária primeiro para avançar ainda mais no código. Agora, enquanto o loop seguirá até que menor seja menor que o maior, e o loop for, a condição continuará calculando os números primos entre eles.

Conclusão

Em, a lógica dos números primos pode ser usada não apenas em C ++, mas em qualquer linguagem de programação. De um pequeno conjunto de números a uma grande quantidade de números, essa lógica pode ser usada para encontrar um conjunto de números primos de acordo com os requisitos em segundos, sem perder tempo na programação de computadores.

Artigos recomendados

Este é um guia para o número primo em C ++. Aqui discutimos a lista de alguns números primos e vários métodos usados ​​nos números primos. Você também pode consultar nossos outros artigos sugeridos para saber mais:

  1. Raiz quadrada em PHP
  2. Trocando em C ++
  3. Dispositivos IoT
  4. Função hash em C