Imprimir Resultado
Neste passo final, você aprimorará o programa para fornecer uma saída mais detalhada sobre o número perfeito, incluindo seus divisores e a soma.
Abra o arquivo e atualize o código:
nano ~/project/perfect_number.c
Substitua o código anterior por:
#include <stdio.h>
int main() {
int number, sum = 0;
// Solicitar ao usuário a entrada
printf("Digite um inteiro positivo para verificar se é um número perfeito: ");
scanf("%d", &number);
// Imprimir cabeçalho para os divisores
printf("Divisores próprios de %d: ", number);
// Calcular a soma dos divisores próprios e imprimi-los
for (int i = 1; i < number; i++) {
if (number % i == 0) {
printf("%d ", i);
sum += i;
}
}
// Imprimir o resultado detalhado
printf("\n\nSoma dos divisores próprios: %d", sum);
// Verificar e imprimir o status do número perfeito
if (sum == number) {
printf("\n%d é um NÚMERO PERFEITO!\n", number);
} else {
printf("\n%d não é um número perfeito.\n", number);
}
return 0;
}
Compile e execute o programa:
gcc perfect_number.c -o perfect_number
./perfect_number
Exemplo de saída para um número perfeito (28):
Digite um inteiro positivo para verificar se é um número perfeito: 28
Divisores próprios de 28: 1 2 4 7 14
Soma dos divisores próprios: 28
28 é um NÚMERO PERFEITO!
Exemplo de saída para um número não perfeito (12):
Digite um inteiro positivo para verificar se é um número perfeito: 12
Divisores próprios de 12: 1 2 3 4 6
Soma dos divisores próprios: 16
12 não é um número perfeito.
Melhorias-chave:
- Agora imprime todos os divisores próprios.
- Mostra a soma dos divisores próprios.
- Fornece uma saída formatada e clara.
- Mantém a lógica central de detecção de números perfeitos.