2017-02-26 3 views
-3

Arbeiten in Python Ich muss eine Liste der ersten n reichlich vorhandenen Zahlen in aufsteigender Reihenfolge zurückgeben. Eine reichliche Zahl ist eine ganze Zahl, die kleiner ist als die Summe ihrer perfekten Teiler. Zum Beispiel ist 12 eine reichliche Zahl, da ihre perfekten Teiler (1, 2, 3, 4 und 6) sich zu 16 addieren. Die Funktion reichlich (n) sollte eine Liste zurückgeben, die genau die ersten n reichlich vorhandenen Zahlen in aufsteigender Reihenfolge enthält . Zum Beispiel würde reichlich (7) eine Liste mit den ersten sieben reichlich vorhandenen Zahlen zurückgeben.Reichliche Zahlen Liste in Python

Ich habe zu verwenden versucht:

def abundant(n): 
    def factors(value): 
     factors = [x for x in range(1, value + 1 // 2 + 1) if value % x == 0] 
     return factors 
     if sum(factors) > value: 
      return value 
     abundant = factors() 
     return abundant[:n] 
+0

Und was hast du probiert? Was funktioniert nicht? Stack Overflow ist kein Code-Schreibdienst. – miradulo

Antwort

1

ich in Python kein Experte bin, aber ich würde eine for-Schleife empfehlen, so:

# From 1 to 10 

n = 0 
for i in range(10): 
     n = n + 1 
     abundant(n) 

hoffe, das hilft!

Verwandte Themen