Уведомления

Группа в Telegram: @pythonsu

#1 Май 2, 2011 12:38:16

prezessia
От:
Зарегистрирован: 2011-05-02
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Возведение числа в большую степень

Здравствуйте!
Очень прошу помочь, кто может)
Мне нужно получать большие степени чисел (> 6 знаков показатель степени ). Pow(a,n) просто виснет…
Есть ли какая то возможность это сделать?
Заранее благодарю.



Отредактировано (Май 2, 2011 12:42:19)

Офлайн

#2 Май 2, 2011 13:35:47

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Возведение числа в большую степень

Вот так надо?

>>> 3**123456
3031256384345081196398504328637131841689205666640860258550241766766150\
3045002178307292979104428140652418249787469900390049582440093860431354\
1096236622062497492588184142761404686216089091947145564717622719953106\
2334585797549670522024756065797551115193140382185004931080068692852585\
0396515581490840059635078662778195841712775440916498293871909179188482\
9029367239266256153769609089108834040130854037141287572078911495615683\
2183259098459787179813661230286220453043143397758019275376042989719056\
1100125353068703745988508687693292429471057565033535586730768624302792\
5092040178716203088862485995808249883031054376555124380584271902767083\
9570065807354771234849178795467870804964204576712310828536289139655865\
3903238862818223271054869303796274478878638310950557089324072101593435\
4110005008374954858463353197499441454628658817305479079587408340955688\
1751444703472186671416986916370962352764388188737211053706518896652624\
6894931718105304614757769812879719060520482955199759092755849038293984\
8133181924036723905361457426457522141973116434163016135664481992377016\
7184429557745470950778839542608412886809080638004687753504624985787724\
9372581776178845891057581242792130719771443468074772203623258174721329\
858292622493957236711762741662098441901305242190909201023......
Вроде не виснет. Для плавающих чисел задача просто сложнее.



Офлайн

#3 Май 2, 2011 14:57:07

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2730
Репутация: +  183  -
Профиль   Отправить e-mail  

Возведение числа в большую степень

http://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%B1%D1%8B%D1%81%D1%82%D1%80%D0%BE%D0%B3%D0%BE_%D0%B2%D0%BE%D0%B7%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F_%D0%B2_%D1%81%D1%82%D0%B5%D0%BF%D0%B5%D0%BD%D1%8C



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#4 Май 2, 2011 20:40:32

prezessia
От:
Зарегистрирован: 2011-05-02
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Возведение числа в большую степень

Спасибо за ответы, но все равно долго…



Офлайн

#5 Май 2, 2011 20:49:25

prezessia
От:
Зарегистрирован: 2011-05-02
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Возведение числа в большую степень

doza_and
Вот так надо?
>>> 3**123456
3031256384345081196398504328637131841689205666640860258550241766766150\
3045002178307292979104428140652418249787469900390049582440093860431354\
1096236622062497492588184142761404686216089091947145564717622719953106\
2334585797549670522024756065797551115193140382185004931080068692852585\
0396515581490840059635078662778195841712775440916498293871909179188482\
9029367239266256153769609089108834040130854037141287572078911495615683\
2183259098459787179813661230286220453043143397758019275376042989719056\
1100125353068703745988508687693292429471057565033535586730768624302792\
5092040178716203088862485995808249883031054376555124380584271902767083\
9570065807354771234849178795467870804964204576712310828536289139655865\
3903238862818223271054869303796274478878638310950557089324072101593435\
4110005008374954858463353197499441454628658817305479079587408340955688\
1751444703472186671416986916370962352764388188737211053706518896652624\
6894931718105304614757769812879719060520482955199759092755849038293984\
8133181924036723905361457426457522141973116434163016135664481992377016\
7184429557745470950778839542608412886809080638004687753504624985787724\
9372581776178845891057581242792130719771443468074772203623258174721329\
858292622493957236711762741662098441901305242190909201023......
Вроде не виснет. Для плавающих чисел задача просто сложнее.
На моей машине это считается секунды 3.



Офлайн

#6 Май 2, 2011 20:51:32

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Возведение числа в большую степень

Что значит долго? Какие у вас требования? У меня на машине за 0.03 секунды выполняется. Ваши 3 секунды это печать ответа скорее всего.

import time
t1=time.clock()
a=[i**123456 for i in range(10)]
t2=time.clock()
print (t2-t1)/10



Отредактировано (Май 2, 2011 20:53:12)

Офлайн

#7 Май 3, 2011 18:56:09

InPython
От:
Зарегистрирован: 2011-01-31
Сообщения: 69
Репутация: +  0  -
Профиль   Отправить e-mail  

Возведение числа в большую степень

doza_and
прикольный способ!:P а как допустим узнать время чтения страницы?

urllib2.urlopen().read()



Отредактировано (Май 3, 2011 19:08:24)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version