问题3782--Collatz Conjecture

3782: Collatz Conjecture

[命题人 : ]
时间限制 : 3.000 sec  内存限制 : 64 MB

题目描述

The Collatz Conjecture is an interesting phenomenon. Though its principle is very simple, it stillremains among unresolved problems in mathematics, even after many years of study. However,the years of intensive research brought at least some results, which is a huge advantage of thehuman race against the aliens, because they did not study the conjecture for so many years. Wewant to keep this advantage.Imagine a sequence defined recursively as follows: Start with any positive integer x0 (so-called"starting value"). Then repeat the following: if xi is even, then xi+1 = xi/2 ("half ...") if xi is odd, then xi+1 = 3xi + 1 ("... or triple plus one") The Collatz Conjecture says that every such sequence will eventually reach 1. It has still notbeen proven until today but we already know for sure that this is true for every x0 < 258. (Nevertell this to aliens!)In this problem, you are given two starting values and your task is to say after how many stepstheir sequences "meet" for the first time (which means the first number that occurs in bothsequences) and at which number is it going to happen. For simplicity, we will assume that thesequence does not continue once it has reached the number one. In reality, it would then turninto 1, 4, 2, 1, 4, 2, 1, . . . , which quickly becomes boring

输入

The input contains several test cases. Each test case is described by a single line containing twointeger numbers A and B, 1 ≤ A, B ≤ 1 000 000.The last test case is followed by a line containing two zeros.

输出

For each test case, output the sentence "A needs SA steps, B needs SB steps, they meetat C ", where SA and SB are the number of steps needed in both sequences to reach the samenumber C . Follow the output format precisely.

样例输入 Copy

7 8
27 30
0 0

样例输出 Copy

7 needs 13 steps, 8 needs 0 steps, they meet at 8
27 needs 95 steps, 30 needs 2 steps, they meet at 46

来源/分类