Identificação de Números Primos em C++

C++Beginner
Pratique Agora

Introdução

Neste laboratório, aprenderemos como verificar se um determinado número é primo ou composto em C++. Um número primo é um número maior que 1 que não pode ser dividido por nenhum número além de 1 e ele mesmo. Um número composto é um número maior que 1 que pode ser dividido por números diferentes de 1 e ele mesmo.

Definir a Função isPrime()

Definiremos uma função isPrime(), que recebe um inteiro e retorna um valor booleano representando se o inteiro é primo ou não.

#include <iostream>
#include <math.h>

using namespace std;

bool isPrime(int n)
{
    if (n == 1)
        return false; // 1 is not a prime number

    for (int i = 2; i <= sqrt(n); i++)
    {
        if (n % i == 0)
            return false;
    }

    return true;
}

No código acima, estamos verificando se o número fornecido é divisível por algum número. Se não houver tais números, o número é primo. Se o número for 1, ele não é primo.

Escrever a Função main()

Agora escreveremos a função main() que recebe a entrada do usuário e usa a função isPrime() para determinar se o número fornecido é primo ou composto.

int main()
{
    cout << "\n\nWelcome to LabEx :-)\n\n\n";
    cout << " ===== Most Efficient Program to determine if the entered number is Prime or not. ===== \n\n";

    cout << " ===== Note: 1 is neither Prime nor Composite. ===== \n\n";

    int n;
    bool prime = false;

    cout << " Enter a positive integer other than 1 :  ";
    cin >> n;

    prime = isPrime(n);

    if (prime)
    {
        cout << "\n\nThe entered number " << n << " is a Prime number.";
    }
    else
    {
        cout << "\n\nThe entered number " << n << " is Composite number.";
    }

    cout << "\n\n\n";

    return 0;
}

Compilar e Executar o Programa

Compile o código usando o comando g++ da seguinte forma:

g++ main.cpp -o main

Em seguida, execute o programa usando o comando ./main.

./main

O programa irá solicitar que você insira um inteiro positivo diferente de 1, insira um número e pressione Enter.

O programa então exibirá se o número inserido é primo ou composto.

Código completo de main.cpp

#include <iostream>
#include <math.h>

using namespace std;

bool isPrime(int n)
{
    if (n == 1)
        return false; // 1 is not a prime number

    for (int i = 2; i <= sqrt(n); i++)
    {
        if (n % i == 0)
            return false;
    }

    return true;
}

int main()
{
    cout << "\n\nWelcome to LabEx :-)\n\n\n";
    cout << " ===== Most Efficient Program to determine if the entered number is Prime or not. ===== \n\n";

    cout << " ===== Note: 1 is neither Prime nor Composite. ===== \n\n";

    int n;
    bool prime = false;

    cout << " Enter a positive integer other than 1 :  ";
    cin >> n;

    prime = isPrime(n);

    if (prime)
    {
        cout << "\n\nThe entered number " << n << " is a Prime number.";
    }
    else
    {
        cout << "\n\nThe entered number " << n << " is Composite number.";
    }

    cout << "\n\n\n";

    return 0;
}

Resumo

Neste laboratório, aprendemos como verificar se um determinado número é primo ou composto em C++. Usamos uma função para determinar se o número fornecido era primo com base em se ele era divisível por quaisquer números além de 1 e ele mesmo. Em seguida, usamos esta função em main(), que recebeu a entrada do usuário e exibiu se o número é primo ou composto.