Funzione per trovare numeri primi

« Older   Newer »
 
  Share  
.
  1. ~{Skydrake™}»
     
    .

    User deleted


    CITAZIONE (TTDH @ 9/11/2009, 18:33)
    CODICE
    def numero_primo(numero):
       numerod = ""
       for i in range(2, numero):
           if numero % i == 0:
               numerod += str(i) + " / "
       if  numerod != "":          return "%­s, divisibile per %­s"  % ("numero non primo", numerod)
       else:                              return "numero primo"

    Mi sembra che questo sia l'algoritmo più pesante in questo topic :P
    Come ho detto precedentemente, basta fare il ciclo da 2 a radice di N, e non da 2 a N :D
    Inoltre, se ti servono tutti i divisori, basta che (sempre nel ciclo da 2 a radice di N) controlli se il numero è divisibile per la variabile contatore. Se lo è, aggiungi ai divisori sia la variabile contatore, sia (N / variabile contatore) ;)
     
    Top
    .
44 replies since 3/11/2009, 17:13   3110 views
  Share  
.