Dies ist mein Faktorisierungscode, der verwendet wird, um alle Faktoren einer Zahl zu finden, aber nach ungefähr 7 Stellen beginnt das Programm zu verlangsamen.Optimierung des Factoring-Programms
Ich frage mich, ob es eine Methode gibt, dieses Programm zu optimieren, damit es Zahlen schneller faktorisieren kann.
number = int(input("Input the whole number here?\n"))
factors = [1]
def factorization():
global factors
for i in range(1 , number):
factor = (number/i)
try:
factorInt = int(number/i)
if factorInt == factor:
factors.append(factorInt)
except ValueError:
pass
factorization()
print(factors)
Wahrscheinlich keine große Verbesserung, aber warum machst du 'number/i' zweimal anstelle von' factor' in der 'try' Anweisung? – DyZ
Haben Sie das überhaupt recherchiert? Sie sollten das zuerst versuchen. Zwei triviale Optimierungen - Sie müssen nicht über sqrt (Nummer) prüfen, und Sie müssen nach 2 keine geraden Zahlen überprüfen. – pvg