Prozentanzeige | Gaußsche Summenregel
Verfasst: Mittwoch 11. Februar 2015, 15:54
Hey Leute,
Ich habe folgenden Code mit dem man alle Befreundeten Zahlen bis zu einer bestimmten Obergrenze anzeigen lassen kann. Am Ende wird alles in einer Liste ausgegeben. Das Problem bei höheren Zahlen ist, dass es lange dauern kann, und um den Fortschritt zu sehen möchte ich eine Prozentanzeige einbauen, jedoch krieg ich die mithilfe der Gaußschen Summenregel irgendwie nicht zustande. Ich hoffe ihr könnt helfen.
Ich habe folgenden Code mit dem man alle Befreundeten Zahlen bis zu einer bestimmten Obergrenze anzeigen lassen kann. Am Ende wird alles in einer Liste ausgegeben. Das Problem bei höheren Zahlen ist, dass es lange dauern kann, und um den Fortschritt zu sehen möchte ich eine Prozentanzeige einbauen, jedoch krieg ich die mithilfe der Gaußschen Summenregel irgendwie nicht zustande. Ich hoffe ihr könnt helfen.
Code: Alles auswählen
def divs(counter, i):
divisor = []
while counter < (i / 2) + 1:
if i % counter == 0:
divisor.append(counter)
counter += 1
return divisor
maxNumber = int(input("Bitte geben sie einen Endwert an: "))
printed = []
toPrint = []
for i in range(2, maxNumber + 1):
#ich schätze hier muss diese Prozentanzeige rein
c = 0
counter = 1
divisor = divs(counter, i)
if sum(divisor) == i:
i = str(i) + " ist vollkommen"
toPrint.append(i)
else:
s = sum(divisor)
counter = 1
divisor = divs(counter, s)
if sum(divisor) == i and i not in printed and s not in printed:
i = str(i) + " und " + str(s) + " sind befreundet"
toPrint.append(i)
printed.append(s)
printed.append(i)
print('\n'.join(map(str, toPrint)))
print("fertig!")