이것은 숫자의 모든 요소를 찾는 데 사용되는 팩터 화 코드입니다.하지만 대략 7 자리가 지나면 프로그램이 느려지 기 시작합니다.최적화 팩토링 프로그램
그래서이 프로그램을 최적화하여 숫자를 더 빠르게 factorise 할 수있는 방법이 있는지 궁금합니다.
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)
크게 개선되지는 않았지만,'try' 문에'factor'를 사용하는 대신'number/i'를 두 번하는 이유는 무엇입니까? – DyZ
이것을 조사한 적이 있습니까? 먼저 시도해야합니다. 두 가지 간단한 최적화 - sqrt (숫자) 이상을 확인할 필요가 없으며 2 이후에 짝수를 확인할 필요가 없습니다. – pvg