Algoritmo Portugol para informar os números perfeitos
Pessoal,
Estou fazendo um curso de lógica e no momento me encontro no aprendizado de estruturas de repetição. Ocorre que estou com dificuldade para resolver o seguinte algoritmo:
Escreva um programa para informar todos os números perfeitos entre 1 e 104.
Tenho como exemplo, um algoritmo que informa se um número ao ser digitado é ou não perfeito. Por isso estou tentando utilizá-lo por acreditar que adaptá-lo ao exercício, seria mais fácil e uma forma de demonstrar que aprendi com este mas, não estou conseguindo.
Nesse que estou postando já fiz algumas alterações mas, da forma como está, ele informa que todos os números de 1 até 100 (reduzi para não sobrecarregar a memória até funcionar) não são perfeitos, o que obviamente está errado.
programa
{
funcao inicio()
{
inteiro x, y, resto, soma=0, metade
x = 1
metade = x/2
enquanto (x <= 100) {
para (y=1; y <= metade; y=y+1) {
resto = x % y
se (resto ==0) {
soma = soma + y
}
}
se (soma == x) {
escreva ("\n", x, " é um Número Perfeito")
}
senao {
escreva ("\n", x, " Não é um Número Perfeito")
}
x = x + 1
}
}
}
Discussão (3)
Carregando comentários...