Introdução
Neste laboratório, aprenderemos a escrever um programa em C que verifica se um número é primo ou composto usando recursão. Um número primo é um número que é divisível apenas por 1 e por ele mesmo, enquanto um número composto é um número que não é primo. Usaremos recursão para escrever o programa, que é uma técnica para resolver problemas dividindo-os em problemas menores e mais simples.
Obtendo a Entrada do Usuário
Começaremos pedindo ao usuário para inserir um número inteiro positivo para verificar se é um número primo ou composto, usando a função scanf. Adicione o seguinte código no arquivo main.c, dentro da função int main():
#include <stdio.h>
int main()
{
int num;
printf("Enter a positive integer: ");
scanf("%d", &num);
return 0;
}
Escrevendo a Função Recursiva para Verificar o Número
Nesta etapa, escreveremos a função recursiva para verificar se o número é primo ou composto. Esta função recebe dois argumentos - o número a ser verificado e uma variável contador que começa a partir do número dividido por 2. Se o contador atingir 1, a função retorna 1, o que indica que o número é primo; caso contrário, a função faz uma chamada recursiva a si mesma com a variável contador decrementada. Se, em algum momento, o número for divisível pela variável contador sem resto, a função retorna 0, o que indica que o número é composto. Adicione o seguinte código ao final do arquivo main.c:
int isPrime(int n, int c)
{
if (c == 1) {
return 1;
} else {
if (n % c == 0) {
return 0;
} else {
return isPrime(n, c - 1);
}
}
}
Verificando e Apresentando o Resultado
Nesta etapa, chamaremos a função isPrime para verificar se o número é primo ou composto. Com base no resultado da função, exibiremos a mensagem apropriada ao usuário. Adicione o seguinte código ao final do arquivo main.c para completar o programa:
int main()
{
int num, prime;
printf("Enter a positive integer: ");
scanf("%d", &num);
prime = isPrime(num, num/2);
if (prime == 1) {
printf("%d is a prime number.\n", num);
} else {
printf("%d is a composite number.\n", num);
}
return 0;
}
Construindo e Executando o Programa
Nesta etapa, compilaremos e executaremos o programa. Abra o terminal e navegue até o diretório onde o arquivo main.c está localizado. Adicione o seguinte comando no terminal para compilar o programa:
gcc main.c -o main
Adicione o seguinte comando para executar o programa:
./main
Insira um número inteiro positivo quando solicitado e pressione Enter. O programa exibirá se o número é primo ou composto.
Resumo
Neste laboratório, aprendemos como escrever um programa em C que verifica se um número é primo ou composto usando recursão. Também aprendemos como usar a função scanf para obter entrada do usuário, escrever uma função recursiva para verificar se um número é primo ou composto e exibir o resultado ao usuário. A recursão é uma técnica útil para resolver problemas que envolvem dividi-los em problemas menores e mais simples.



