Cálculo de Números Perfeitos
Publicado por Fagner Amaral de Souza Candido (última atualização em 09/06/2011)
[ Hits: 8.068 ]
Homepage: https://github.com/fagnercandido
Olá PessoALL,
O código a seguir é bem simples: ele calcula os números perfeitos. Os números perfeitos são aqueles que podem ser compostos pela soma dos seus divisores menores que o mesmo.
Por exemplo:
6 = 1+2+3 = 6
28 = 1+2+4+7+14
Qualquer dúvida, sugestões, críticas serão sempre bem-vindas,
@fagner_candido
fagner7777777@gmail.com
fCandido
''' Sintese : Objetivo : Determinar os numeros perfeitos Entrada : n valores Saida : Numeros que se enquadram na condicao Autor : f_Candido @fagner_candido fagner7777777@gmail.com ''' import time class NPerfeitos: def __init__(self): self.totalSomatorio = 0 self.valorInicial = 30 self.contador = 2 self.listaSomatorio = [1] def calcula(self): ''' Metodo que que calcula os numeros perfeitos ''' while(True): if self.contador == self.valorInicial: self.totalSomatorio = self.somatorio(self.listaSomatorio) if self.totalSomatorio == self.valorInicial: print self.valorInicial time.sleep(2) self.alteraAtributos() else: print self.valorInicial self.alteraAtributos() if self.isDivisivel(self.valorInicial, self.contador): self.listaSomatorio.append(self.contador) self.contador = self.contador + 1 def isDivisivel(self, dividendo, divisor): ''' Metodo que compara a divisibilidade ''' if((dividendo%divisor) == 0): return True else: return False def somatorio(self, lista): ''' Metodo que realiza o somatorio ''' somatorioTotal = 0 for auxiliar in lista: somatorioTotal = somatorioTotal + auxiliar return somatorioTotal def alteraAtributos(self): ''' Reinicializa os atributos ''' self.valorInicial = self.valorInicial + 1 self.contador = 2 self.listaSomatorio = [] self.listaSomatorio.append(1) self.totalSomatorio = 0 objNPerfeitos = NPerfeitos() objNPerfeitos.calcula()
Script para calcular indice de massa corporal
Nenhum comentário foi encontrado.
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Touchpad não funciona e tecla H digita sozinha (1)
Vc tem um projeto opensource? link? (3)
Não consigo atualizar para LinuxMint 22 com o Mintupdate (4)