Programación estadística
Definir fibra(n):
Contador global
Contador = 1
Si n == 0:
Devolver 1
elif n == 1:
Devolver 1
En caso contrario:
Devolver fibn(n-1) fibn (n-2)
Estadísticas = []
Para I(35) en el rango:
Contador = 0
fibn ( i 1)
estadísticas . append((I 1), COUNTER))
Imprimir estadísticas [(1, 1), (2, 3), (3, 5), (4,9), (5,15), (6,25), (7,41), (8,67), (9,109), (10,177), (1177), (1, 287), (12 , 465
Importar pstats
Definir fibra(n):
Si n == 0:
Devuelve 1
elif n == 1:
Devuelve 1
En caso contrario:
Devuelve fibn(n-1) fibn(n -2)
Imprimir 'i,llamada,hora'
Para I(50) en el rango:
pr = cProfile()
pr.enable ()
fibn(一)
pr.disable()
stats = pstats.
stats.strip_dirs() p>
ST = stats . stats[(' prueba 1 . py ', 3, ' fibn')]
Imprimir ' 3d, 10d, 8f' (i, st[1], st [3])
Yo, llamo, hora 0, 1, 0.000000 1, 1, 0.000001 2, 3, 0.000003 3, 5, 0.000005 4, 9, 0.0000008 5, 15, 0.0000012 6, 25, 0,00000025 0,212390 26, 392835, 0,352861 27, 635621, 0,578204 28, 1028457, 0,987839 29, 1 664079, 1,506812 30, 2692537. 682802 31, 435617, 3.9993632, 7049155, 8.041933, 11405773, 13.05235 65438.