sábado, 14 de fevereiro de 2009

1.6 O Problema 3n+1

PC/UVa IDs: 110101/100, Popularidade: A, Taxa de Sucesso: Baixa Nível: 1

Considere o seguinte algoritmo para gerar uma seqüência de números. Comece com um inteiro n. Se n for par, dividir por 2. Se n for ímpar, multiplique por 3 e adicione 1. Repita esse processo com o novo valor de n, encerra quando n = 1. Por exemplo, a seguinte seqüência de números serão gerados para n = 22:

22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1

É 'conjectured' (mas ainda não comprovada) de que este algoritmo irá encerrar no n = 1 para cada inteiro n. Ainda assim, vale para todas as 'conjecturas' inteiros até, pelo menos, 1.000.000.

Para uma entrada n, o ciclo de comprimento de n é o número de números gerados até e incluindo o 1. No exemplo acima, a duração do ciclo de 22 a 16. Dado dois números quaisquer i e j, que está a determinar o valor máximo da duração do ciclo de todos os números entre i e j, incluindo os dois pontos finais.


Entrada

A entrada será constituído por uma série de pares de inteiros i e j, um par de inteiros por linha. Todos os inteiros serão inferiores a 1000000 e superiores a 0.


Saída

Para cada par de entradas inteiros i e j, saída i, j na mesma ordem em que apareceu na entrada e, em seguida, o limite máximo para a duração do ciclo entre inteiros e incluindo i e j. Estes três números devem ser separados por um espaço, com todos os três números de uma linha e com uma linha de produção para cada linha de entrada.


Exemplo de Entrada

1 10
100 200
201 210
900 1000

Exemplo de Saída

1 10 20
100 200 125
201 210 89
900 1000 174

Nenhum comentário:

Postar um comentário