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.



