Exercício: verificar se um número é primo

Fala galera da programação, tudo beleza?
Os números primos sempre causam curiosidade nas pessoas pela sua particularidade se somente serem divisíveis por um e por ele mesmo.
Pensando nisso vamos criar um algoritmo e um programa que leia um número e o mesmo deve verificar e apresentar ao usuário se o número informado é ou não um número primo.
Exemplo de Resposta em C++
#include <iostream>
bool isPrime(int number) {
if (number <= 1) {
return false;
}
for (int i = 2; i * i <= number; i++) {
if (number % i == 0) {
return false;
}
}
return true;
}
int main() {
int number;
std::cout << "Digite um número inteiro: ";
std::cin >> number;
if (isPrime(number)) {
std::cout << number << " é um número primo." << std::endl;
} else {
std::cout << number << " não é um número primo." << std::endl;
}
return 0;
}
Explicação
Nesse programa, a função isPrime verifica se um número é primo ou não. Ela itera de 2 até a raiz quadrada do número e verifica se ele é divisível por algum dos valores nesse intervalo. Se for, retorna false, indicando que o número não é primo. Caso contrário, retorna true.
No main, o programa lê um número digitado pelo usuário e chama a função isPrime passando esse número como argumento. Em seguida, exibe uma mensagem indicando se o número é primo ou não.
Exemplo em Pascal
program VerificarPrimo;
function IsPrime(number: Integer): Boolean;
var
i: Integer;
begin
if number <= 1 then
begin
Result := False;
Exit;
end;
for i := 2 to Trunc(Sqrt(number)) do
begin
if number mod i = 0 then
begin
Result := False;
Exit;
end;
end;
Result := True;
end;
var
number: Integer;
begin
Write('Digite um número inteiro: ');
Readln(number);
if IsPrime(number) then
Writeln(number, ' é um número primo.')
else
Writeln(number, ' não é um número primo.');
Readln;
end.
Explicação
Nesse programa em Pascal, a função IsPrime verifica se um número é primo ou não. Ela itera de 2 até a raiz quadrada do número e verifica se ele é divisível por algum dos valores nesse intervalo. Se for, retorna False, indicando que o número não é primo. Caso contrário, retorna True.
No programa principal, é solicitado ao usuário que digite um número inteiro, que é armazenado na variável number. Em seguida, a função IsPrime é chamada passando esse número como argumento. Por fim, uma mensagem é exibida indicando se o número é primo ou não.
Exemplo em Python
def is_prime(number):
if number <= 1:
return False
for i in range(2, int(number ** 0.5) + 1):
if number % i == 0:
return False
return True
number = int(input("Digite um número inteiro: "))
if is_prime(number):
print(number, "é um número primo.")
else:
print(number, "não é um número primo.")
Explicação
Neste programa em Python, a função is_prime verifica se um número é primo ou não. Ela itera de 2 até a raiz quadrada do número e verifica se ele é divisível por algum dos valores nesse intervalo. Se for, retorna False, indicando que o número não é primo. Caso contrário, retorna True.
No programa principal, o usuário é solicitado a digitar um número inteiro, que é armazenado na variável number. Em seguida, a função is_prime é chamada passando esse número como argumento. Por fim, uma mensagem é exibida indicando se o número é primo ou não.
Exemplo em C#
using System;
class Program
{
static bool IsPrime(int number)
{
if (number <= 1)
return false;
for (int i = 2; i <= Math.Sqrt(number); i++)
{
if (number % i == 0)
return false;
}
return true;
}
static void Main()
{
Console.Write("Digite um número inteiro: ");
int number = int.Parse(Console.ReadLine());
if (IsPrime(number))
Console.WriteLine($"{number} é um número primo.");
else
Console.WriteLine($"{number} não é um número primo.");
}
}
Explicação
Neste programa em C#, a função IsPrime verifica se um número é primo ou não. Ela itera de 2 até a raiz quadrada do número e verifica se ele é divisível por algum dos valores nesse intervalo. Se for, retorna false, indicando que o número não é primo. Caso contrário, retorna true.
No método Main, o usuário é solicitado a digitar um número inteiro, que é armazenado na variável number através do método Console.ReadLine e int.Parse. Em seguida, a função IsPrime é chamada passando esse número como argumento. Por fim, uma mensagem é exibida indicando se o número é primo ou não através do método Console.WriteLine.
Exemplo em Java
import java.util.Scanner;
public class PrimeNumber {
public static boolean isPrime(int number) {
if (number <= 1)
return false;
for (int i = 2; i <= Math.sqrt(number); i++) {
if (number % i == 0)
return false;
}
return true;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Digite um número inteiro: ");
int number = scanner.nextInt();
if (isPrime(number))
System.out.println(number + " é um número primo.");
else
System.out.println(number + " não é um número primo.");
scanner.close();
}
}
Explicação
Neste programa em Java, o método isPrime verifica se um número é primo ou não, seguindo a mesma lógica da versão em C#. A função main é o ponto de entrada do programa. Ela solicita ao usuário que digite um número inteiro usando a classe Scanner, armazena o valor digitado na variável number e chama a função isPrime passando esse número como argumento. Em seguida, exibe uma mensagem indicando se o número é primo ou não usando System.out.println. O método scanner.close() é utilizado para liberar os recursos do scanner.
Beleza pessoal?
Dúvidas ou sugestões? Deixe o seu comentário!
Um abraço e até o próximo post. Valeu!