LÓGICA - Números amigáveis
Lógica de Programação
Cálculo dos números amigáveis
Dois números são ditos amigáveis, se cada um deles é igual à soma dos divisores próprios do outro. Por exemplo, 284 e 220 são amigáveis, pois a
soma dos divisores próprios de 220 dá 284, ao passo que a soma dos divisores próprios de 284 é 220. Desenvolva um algoritmo que receba um número inteiro qualquer e verifique se este possui um número amigável.
Neste caso, devemos somar todos os divisores de um número, exceto o próprio número, depois somar os divisores do número obtido e verificar se são o mesmo valor.
Algoritmo
Declare
nro, somaDivisor, divisor, nro2 : inteiro
Inicio
Escreva ("Digite nro:")
Leia (nro)
somaDivisor <- 0
divisor <- 1
Enquanto divisor <= nro/2 Faça
Inicio
Se nro % divisor = 0
Então
somaDivisor <- somaDivisor + divisor
Fim-Se
divisor <- divisor + 1
Fim-Enquanto
nro2 <- somaDivisor
divisor <- 1
somaDivisor <- 0
Enquanto divisor <= nro2/2 Faça
Inicio
Se nro2 % divisor = 0
Então
somaDivisor <- somaDivisor + divisor
Fim-Se
divisor <- divisor + 1
Fim-Enquanto
Se nro = somaDivisor E nro != nro2
Então
Escreva(nro + "é amigável de " + nro2)
Senão
Escreva(nro + "não possui amigável")
Fim-Se
Fim
Como atividade, apresente quais são os números amigáveis de 1 a 100000. Lembre-se que os perfeitos não são amigáveis.
Comentários
Postar um comentário