Crie um algoritmo que imprima os 4 primeiros números perfeitos.
Passo 1
Primeiro, vamos entender o que o exercício está pedindo. Precisamos criar um algoritmo que imprima os 4 primeiros números perfeitos. Um número perfeito é aquele que é igual à soma de seus divisores próprios (excluindo ele mesmo). Para resolver isso, vamos precisar saber como encontrar os divisores de um número, somá-los e verificar se a soma é igual ao número original.
Passo 2
Vamos começar definindo o que é um número perfeito. Um número perfeito
satisfaz a seguinte condição:
onde
é a soma dos divisores próprios de
. Por exemplo, para
:
Portanto, 6 é um número perfeito.
Passo 3
Agora, precisamos de uma forma de encontrar os divisores próprios de um número. Para isso, vamos criar uma função que, dado um número
, retorna a soma de todos os seus divisores próprios. Isso significa que vamos iterar de 1 até
e somar aqueles números que dividem
sem deixar resto.
Passo 4
Com a função para somar os divisores pronta, vamos criar o algoritmo principal que irá:
- Iniciar uma contagem de números verificados.
- Verificar cada número, começando de 2, para ver se é perfeito.
- Continuar o processo até encontrar os 4 primeiros números perfeitos.
Passo 5
Vamos implementar isso em um pseudocódigo simples:
função somaDivisores(num):
soma = 0
para i de 1 até num - 1:
se num mod i == 0 então:
soma = soma + i
retorna soma
contador = 0
numero = 2
enquanto contador < 4:
se somaDivisores(numero) == numero então:
imprimir(numero)
contador = contador + 1
numero = numero + 1
Passo 6
Explicando o pseudocódigo:
- somaDivisores: Função que calcula a soma dos divisores próprios de um número.
- contador: Controla quantos números perfeitos encontramos.
- numero: Número atual que estamos verificando.
- O laço enquanto continua até que encontremos os 4 primeiros números perfeitos.
- Dentro do laço, verificamos se o número é perfeito comparando a soma dos seus divisores com ele mesmo. Se for, imprimimos e incrementamos o contador.
Resposta
Os 4 primeiros números perfeitos são:
6
28
496
8128
Exercícios relacionados
Faça um programa que calcule o valor de PI pela soma dos n primeiros termos da série abaixo:
Crie a função mat_maior_10(matriz). A função deve receber uma matriz genérica, de qualquer tamanho (não necessariamente quadrada) e retornar a quantidade de elementos da matriz maiores que dez.
Crie um algoritmo que leia N números inteiros positivos e responda se é possível formar um polígono com o mesmo (dica: maior número < soma dos demais números).
Implemente seguinte algoritmo de criptografia: dada uma frase qualquer, se o código ASCII do caractere for par, subtraia três do código ASCII. Se for ímpar, some três (semelhante ao exemplo dado em sala).