Найти - Пользователи
Полная версия: Факторизация чисел
Начало » Python для новичков » Факторизация чисел
1
Rumato
Здравствуйте, у меня есть програмка:
import timeit
import time
start = time.time()
def prime_factors(n):
factors = []
d = 2
while n > 1:
while n%d == 0:
factors.append(d)
n /= d
d = d + 1

return factors

print prime_factors(n)
print "Elapsed Time: %s" % (time.time() - start)
которая факторизует число, мне нужно оценить время которое нужно для факторизации с ростом разрядности числа, т.е. n = как вызвать prime_factors(n) с разными параметрами n? и как записать в массив значения таймера?

Залюбую помощь и совет заранее спасибо=)
cookie-god
for n in (10**i for i in xrange(2,5)):
elapsed = timeit.timeit("prime_factors(%d)"%n,\
setup="from __main__ import prime_factors",\
number=10)
print "%d took %f"%(n,elapsed)
Тут number - сколько раз будет вызвана функция prime_factor(n) при замере.
Rumato
большое спасибо!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB