Problema de la bicicleta de TuringEn ciencias de la computación, la bicicleta de Turing es un problema muy utilizado. Cuentan que Alan Turing tenía una bicicleta vieja, que tenía una cadena con un eslabón débil y además uno de los radios de la rueda estaba doblado. Cuando el radio doblado coincidía con el eslabón débil, entonces la cadena se rompía. La bicicleta se identifica por los parámetros (i,d,n) donde:
Si i = 2, d = 7 y n = 25, entonces la lista con el número de eslabón que toca el radio doblado en cada vuelta es [2,9,16,23,5,12,19,1,8,15,22,4,11,18,0,7,14,21,3,10,17,24,6,... Con lo que la cadena se rompe en la vuelta número 14. Implementación en HaskellDefinir la función:
tal que (eslabones i d n) es la lista con los números de eslabones que tocan el radio doblado en cada vuelta en una bicicleta de tipo (i,d,n). Por ejemplo,
Solución
Se puede definir usando iterate:
Definir la función
Por ejemplo, numeroVueltas 2 7 25 == 14 Solución
Bibliografía
|