10.6. Enteros largos

Python proporciona un tipo llamado long int que puede manejar enteros de cualquier tamaño. Hay dos formas de crear un valor long int. Una es escribir un entero con una L mayúscula al final:

   1: >>> type(1L)
   2: <type 'long int'>

La otra es usar la función long para convertir un valor en long int. long acepta cualquier tipo numérico e incluso cadenas de dígitos:




   1: >>> long(1)
   2: 1L
   3: >>> long(3.9)
   4: 3L
   5: >>> long('57')
   6: 57L

Todas las operaciones matemáticas funcionan sobre los long ints, así que no tenemos que hacer mucho para adaptar fibonacci:




   1: >>> previous = {0:1L, 1:1L}
   2: >>> fibonacci(50)
   3: 20365011074L

Simplemente cambiando el contenido inicial de anteriores cambiamos el comportamiento de fibonacci. Los primeros dos números de la secuencia son long ints, así que todos los números subsiguientes lo serán también.


Como ejercicio, modifique factorial de forma que produzca un
long int como resultado.

0