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

Postagens mais visitadas