Python - Ayuda con ejercicio en Python

 
Vista:
sin imagen de perfil
Val: 5
Ha disminuido su posición en 18 puestos en Python (en relación al último mes)
Gráfica de Python

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.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Ayuda con ejercicio en Python

Publicado por joel (901 intervenciones) el 05/09/2019 08:46:08
Hola Jorge, seria algo así?
1
2
3
4
5
6
7
8
numero=22
 
while numero!=1:
    if numero%2==0:
        numero=numero/2
    else:
        numero=(numero*3)+1
    print(int(numero))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar