On 07/17/2013 12:21 PM, Hasit Mistry wrote:
I came across a problem that requires me to store a very large number (say >10^100). How do I do it efficiently? And also, how do I select a particular number (say 209th) from that very large number?
I am relatively new to Python.

Thank you in advance.


Python already has long numbers (integers) built in.:

>>> 10**100
10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000L

The 'L' on the end notifies you it's a *long* int. I can't speak about its efficiency, but I assume it's OK.

By 209th number, do you mean 209th *digit*? I'd say just get a string representation and index the 209th character:

>>> str(12**345)
'2077446682327378559843444695582704973572786912705232236931705903179519704325276892191015329301807037794598378537132233994613616420526484930777273718077112370160566492728059713895917217042738578562985773221381211423961068296308572143393854703167926779929682604844469621152130457090778409728703018428147734622401526422774317612081074841839507864189781700150115308454681772032'
>>> str(12**345)[209]
'1'

Gary Herron


--
Dr. Gary Herron
Department of Computer Science
DigiPen Institute of Technology
(425) 895-4418

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to