Уведомления

Группа в Telegram: @pythonsu

#1 Март 25, 2011 09:33:38

Rumato
От:
Зарегистрирован: 2010-10-03
Сообщения: 93
Репутация: +  0  -
Профиль   Отправить e-mail  

Факторизация чисел

Здравствуйте, у меня есть програмка:

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? и как записать в массив значения таймера?

Залюбую помощь и совет заранее спасибо=)



Офлайн

#2 Март 26, 2011 11:15:33

cookie-god
От:
Зарегистрирован: 2011-03-13
Сообщения: 41
Репутация: +  0  -
Профиль   Отправить e-mail  

Факторизация чисел

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) при замере.



Офлайн

#3 Март 26, 2011 11:36:54

Rumato
От:
Зарегистрирован: 2010-10-03
Сообщения: 93
Репутация: +  0  -
Профиль   Отправить e-mail  

Факторизация чисел

большое спасибо!



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version