Determinar números primos en C++

C++Beginner
Practicar Ahora

Introducción

En este laboratorio, aprenderá a escribir un programa en C++ para comprobar si un número dado es primo o no. Un número primo es un número que solo es divisible por 1 y por sí mismo. Es un concepto importante en la teoría de los números y tiene muchas aplicaciones importantes en criptografía.

Crear un nuevo archivo fuente de C++

Primero, crea un nuevo archivo fuente de C++ llamado main.cpp en el directorio ~/project/.

cd ~/project
touch main.cpp

Escribe el programa en C++ para comprobar si un número es primo

Copia el siguiente código en el archivo main.cpp:

#include <iostream>

using namespace std;

int main() {
    int n, i;
    bool isPrime = true;

    // Obtiene el número del usuario
    cout << "Ingrese un número entero positivo: ";
    cin >> n;

    // Comprueba si el número es primo
    for(i=2; i<=n/2; i++) {
        if(n%i == 0) {
            isPrime = false;
            break;
        }
    }

    if(isPrime) {
        cout << n << " es un número primo." << endl;
    } else {
        cout << n << " no es un número primo." << endl;
    }

    return 0;
}

Este programa toma un entero n del usuario y comprueba si es primo o no. Si es primo, imprime n es un número primo.; de lo contrario, imprime n no es un número primo.

Compila y ejecuta el programa

Abre la terminal en el sistema Ubuntu y navega hasta el directorio ~/project/:

cd ~/project

Compila el código main.cpp ejecutando el siguiente comando:

g++ main.cpp -o main

Ejecuta el archivo ejecutable compilado ejecutando el siguiente comando:

./main

Probar el programa

Ahora, ingrese diferentes números para comprobar si son primos o no:

Ingrese un número entero positivo: 17
17 es un número primo.
Ingrese un número entero positivo: 57
57 no es un número primo.

Resumen

En este laboratorio, aprendiste cómo escribir un programa en C++ para comprobar si un número dado es primo o no. Ahora tienes una comprensión sólida de este concepto, que es importante en la teoría de números y la criptografía.