Número primo en C ++ - Encuentra números primos usando varios métodos

Tabla de contenido:

Anonim

Introducción al número primo en C ++

¿Cuál es el número primo? Cualquier número que sea mayor que 1 y deba dividirse entre 1 o el número en sí se llama número primo. Como los números primos no se pueden dividir por ningún otro número, solo debe ser el mismo número o 1. Por ejemplo, aquí está la lista de números primos en C ++ que son divisibles por 1 o por el mismo número.

Lista de algunos números primos

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

Tal vez estés pensando por qué 2 se considera como un número primo? Bueno, es una excepción, por lo tanto, 2 es el único número primo en la lista que también es par. ¡Solo dos números son números naturales consecutivos que también son primos! Además, 2 es el número primo más pequeño.

La lógica detrás del número primo es que si desea encontrar números primos de una lista de números, entonces debe aplicar las lógicas mencionadas a continuación:

Si el número dado es divisible por sí mismo o 1, 2 es el único número primo par que es una excepción, así que recuerde siempre. Divide el número dado por 2, si obtienes un número entero, ¡el número no puede ser primo!

Excepto 2 y 3, todos los números primos se pueden expresar en forma 6n + 1 o 6n-1, n es un número natural.

No hay un solo número primo que termine con 5 que sea mayor que 5. Porque lógicamente cualquier número que sea mayor que 5 se puede dividir fácilmente por 5.

Para una explicación más clara que respalde toda la lógica dada aquí, aquí está la tabla de todos los números primos hasta 401:

2 3 5 5 7 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 varios métodos

Ahora veamos cómo encontrar números primos utilizando varios métodos, como for loop, while loop, do-while loop. La salida será la misma en los tres casos de bucle porque la lógica es la misma, la única forma de implementación es diferente.

Lo veremos a través de un código C ++ por separado para cada bucle.

Ejemplo 1

Encontrar un número primo usando for loop

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;
)

Salida:

Como puede ver en el código anterior, hemos tomado dos para bucles porque necesitamos una lista de números primos que estarán por debajo del número dado en nuestro programa. Hemos incluido for loop dentro de otro for loop para facilitar nuestro cálculo. Se agrega una condición a través de la instrucción if para romper el ciclo una vez que alcanzamos nuestro número dado en el código.

Ejemplo # 2

Encontrar un número primo usando for loop con 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;
)

Salida:

Ejemplo # 3

Encontrar un número primo usando el ciclo WHILE con 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;
)

Salida:

En el código anterior, hemos tomado enteros como un número más bajo, un número más alto, una variable temporal y una bandera. Inicialmente, tomamos dos números como entrada, uno es más bajo y el otro es más alto. En caso de que el número inferior sea mayor que el número superior, estos números se intercambiarán primero a través de una variable temporal para avanzar más en el código. Ahora, mientras que el ciclo seguirá hasta que sea menor que menor y para ciclo, la condición seguirá calculando números primos entre ellos.

Conclusión

En, la lógica de números primos se puede usar no solo en C ++ sino en cualquier lenguaje de programación. Desde un pequeño conjunto de números hasta una gran cantidad de números, esta lógica se puede utilizar para encontrar un conjunto de números primos de acuerdo con los requisitos en cuestión de segundos sin perder tiempo en la programación de computadoras.

Artículos recomendados

Esta es una guía de Número primo en C ++. Aquí discutimos la lista de algunos números primos y varios métodos utilizados para los números primos. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. Raíz cuadrada en PHP
  2. Intercambio en C ++
  3. Dispositivos IoT
  4. Función de hash en C