• Matéria: Informática
  • Autor: spellboundbh
  • Perguntado 8 anos atrás

No Python
Escreva um programa que leia um número inteiro N e verifique se ele é um número perfeito. Um número é perfeito quando ele é igual à soma de todos os seus números exatos, exceto ele mesmo, por exemplo, o número 6( 1+2+3) é um número perfeito.

Respostas

respondido por: bokomoko
1
Eis uma função em python que faz o teste

def eh_perfeito(n):
    soma = 0
    for x in range(1, n):
       if n % x == 0:
             soma += x
     return soma == n

Essa função retorno TRUE se o número for perfeito

Tem essa aqui que é mais cara de python mesmo
def eh_perfeito(n): 
  return sum([ x for x in range(1,n//2+1) if not(n %x) ]) == n
Perguntas similares