C'est mon code de factorisation qui est utilisé pour trouver tous les facteurs d'un nombre mais après environ 7 chiffres, le programme commence à ralentir. Je me demandais s'il existait une méthode d'optimisation de ce programme pour lui permettre de factoriser les nombres plus rapidement.Optimisation du programme d'affacturage
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)
Probablement pas une grosse amélioration, mais pourquoi faites-vous deux fois 'number/i' au lieu d'utiliser 'factor' dans l'instruction' try'? – DyZ
Avez-vous fait des recherches à ce sujet? Tu devrais essayer ça en premier. Deux optimisations triviales - vous n'avez pas besoin de vérifier au-dessus de sqrt (nombre) et vous n'avez pas besoin de vérifier les nombres pairs après 2. – pvg