Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Scripts

Linux user

Publicado por Fagner Amaral de Souza Candido em (última atualização em 09/06/2011)   [ 1470 hits ]

Login: f_Candido, 280464 pontos

   


Descrição

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

[ Download: NPerfeitos.py ]   [ Enviar nova versão ]

[ Esconder código-fonte ]

'''
   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()

Scripts recomendados
   Script Linux recomendado Detecção de Usuário
   Script Linux recomendado Gerador de grafos no formato .gif
   Script Linux recomendado calculos simples
   Script Linux recomendado Estrutura e repetição for e while
   Script Linux recomendado dado-6-faces c/ Tkinter "telinha gráfica" o0o0o0

Comentários
Nenhum comentário foi encontrado.

Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.