Vamos a probar una de las series mas populares en matemáticas. Toma en cuenta el siguiente algoritmo.
Código:
Por ejemplo para 1 entrada n 2 imprime n 3 Si n = 1 termina 4 Si n es impar n = 3n + 1 5 si no n = n / 2 6 ve a 2
n=22
generaría la siguiente salida 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
y cuya longitud seria de 16 porque produce 16 números.Entrada
Dado 2 números a y b, que representan un rango inclusive en ambos extremos.
Salida
La longitud mas larga que existe entre el rango a, b.
Plantilla para resolver el problema
Código Python:
Ver original
def max_cycle(a, b): return 0 if __name__ == '__main__': from time import time t1 = time() assert max_cycle(1, 10) == 20 assert max_cycle(100, 200) == 125 assert max_cycle(201, 210) == 89 assert max_cycle(900, 1000) == 174 assert max_cycle(113383, 113383) == 248 assert max_cycle(999999, 1) == 525 assert max_cycle(20, 20) == 8 assert max_cycle(9999, 9999) == 92 assert max_cycle(1, 9999) == 262 assert max_cycle(340, 3000) == 217 assert max_cycle(3000, 340) == 217 assert max_cycle(500, 101) == 144 assert max_cycle(1, 1) == 1 assert max_cycle(9999, 9998) == 92 t2 = time() print "Tiempo de ejecucion %.3f s" % (t2 - t1)
PD: El score estará dado por tiempo de ejecución.
Score:
1. sukoy