## 译文1095：3n +1问题

时间限制：1秒内存限制：64MB提交：9228解决：2551

**译文描述**

考虑以下算法来生成数字序列。以整数n开头。如果n为偶数，则除以2。如果n为奇数，则乘以3并加1。以新的n值重复此过程，在n = 1时终止。例如，将为n生成以下数字序列= 22：22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1据推测（但尚未证明），对于每个整数n，该算法都将在n = 1处终止。尽管如此，猜想仍然适用于所有至少为1，000，000的整数。对于输入n，n的循环长度是生成的数字的数量，直到1（包括1）。在上面的示例中，循环长度22中的16是16。给定两个数字i和j，您将确定i和j之间所有数字（包括两个端点）的最大循环长度。

**输入**

> 输入将包含一系列成对的整数i和j，每行一对整数。所有整数将小于1,000,000并大于0。

**输出**

> 对于每对输入整数i和j，按照它们在输入中出现的顺序输出i，j，然后输出介于i和j之间（包括i和j）的整数的最大循环长度。这三个数字应以一个空格分隔，所有三个数字在一行上，每行输入对应一个输出行。

**样例输入**

```python
1 10
100 200
201 210
900 1000
```

**样例输出**

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


```
def f(n):
    re=1
    while n!=1:
        if n%2==0:
            n=n//2
        else:
            n=n*3+1
        re+=1
    return re
while True :
    i,j=map(int,input().strip().split())
    temp=[]
    for k in range(min(i,j),max(i,j)+1):
        temp.append(f(k))
    print(i,j,max(temp))   
```

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



```
list('....')
```




    ['.', '.', '.', '.']