Funzione per trovare numeri primi

« Older   Newer »
 
  Share  
.
  1. RootkitNeo
     
    .
    Avatar

    Senior Member

    Group
    Staff
    Posts
    10,796

    Status
    Anonymous
    CITAZIONE (x-reynik-x @ 11/11/2009, 16:45)
    Allora viene così, ma per il 9 per esempio mi scrive 9 è primo e 9 non è primo.
    CODICE
    def prime(n):
           if n <= 3:
                   print(n, 'è primo')
           m = 2
           while m <= n//m:
                   if n % m == 0:
                           print(n, 'non è primo'),
                           break
                   m = m + 1
                   print(n, 'è primo')

    Si perchè usi break. break esce dal ciclo e riprende dalla dichiarazione successiva (se è come in java). Devi mettere return al posto di break.
    E quel print (l'ultimo) devi metterlo fuori dal while. Oppure, lo metti in un else e metti sotto il return.
     
    Top
    .
44 replies since 3/11/2009, 17:13   3110 views
  Share  
.