Ayuda con ejercicio en Python
Publicado por jorge (3 intervenciones) el 05/09/2019 06:08:58
Hola buenas, necesito ayuda con este ejercicio ya que para es muy complejo para mí.
1) Consideremos el siguiente algoritmo para generar una secuencia de números. Comenzando con un entero n: si n es par, se divide por 2; si n es impar, se multiplica por 3 y se suma 1. Este proceso se debe repetir para cada nuevo valor de n, finalizando cuando n = 1. Por ejemplo, para n = 22 se genera la siguiente secuencia de números:
22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
Se conjetura (aunque no esta demostrado) que este algoritmo termina en n = 1 para cualquier entero n. Dicha conjetura se cumple, al menos, para cualquier entero hasta 1.000.000. Para una entrada n, la longitud de ciclo de n es la cantidad de nu ́meros generados hasta, e incluyendo, el 1. En el ejemplo anterior, la longitud de ciclo de 22 es 16. Dados dos números cualesquiera, i y j, se debe determinar la máxima longitud de ciclo correspondiente a un número comprendido entre i y j, incluyendo ambos extremos. En la Tabla 1 (se adjunta imagen) se puede ver ejemplos de entrada y salida.
Entrada
La entrada consta de una serie de parejas de enteros, i y j. Todos los enteros serán menores de 1.000.000 y mayores de 0. Para finalizar el programa los valores de i y j deben ser igual a 0.
Salida
Para cada pareja de enteros i y j, escribir i y j en el mismo orden en el que aparecen en la entrada, seguidos de la longitud de ciclo máxima para los enteros comprendidos entre i y j, ambos incluidos. Los tres números deben estar separados entre sí por un espacio, estando los tres en la misma línea y utilizando una nueva línea en la salida cada línea que aparece en la entrada.
1) Consideremos el siguiente algoritmo para generar una secuencia de números. Comenzando con un entero n: si n es par, se divide por 2; si n es impar, se multiplica por 3 y se suma 1. Este proceso se debe repetir para cada nuevo valor de n, finalizando cuando n = 1. Por ejemplo, para n = 22 se genera la siguiente secuencia de números:
22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
Se conjetura (aunque no esta demostrado) que este algoritmo termina en n = 1 para cualquier entero n. Dicha conjetura se cumple, al menos, para cualquier entero hasta 1.000.000. Para una entrada n, la longitud de ciclo de n es la cantidad de nu ́meros generados hasta, e incluyendo, el 1. En el ejemplo anterior, la longitud de ciclo de 22 es 16. Dados dos números cualesquiera, i y j, se debe determinar la máxima longitud de ciclo correspondiente a un número comprendido entre i y j, incluyendo ambos extremos. En la Tabla 1 (se adjunta imagen) se puede ver ejemplos de entrada y salida.
Entrada
La entrada consta de una serie de parejas de enteros, i y j. Todos los enteros serán menores de 1.000.000 y mayores de 0. Para finalizar el programa los valores de i y j deben ser igual a 0.
Salida
Para cada pareja de enteros i y j, escribir i y j en el mismo orden en el que aparecen en la entrada, seguidos de la longitud de ciclo máxima para los enteros comprendidos entre i y j, ambos incluidos. Los tres números deben estar separados entre sí por un espacio, estando los tres en la misma línea y utilizando una nueva línea en la salida cada línea que aparece en la entrada.
Valora esta pregunta


0