函数题:输出一个正整数的Collatz序列
编写函数collatz(),带一个正整数x作为输入参数,输出从x开始的Collatz序列。Collatz序列按如下规则根据序列中的前一个x重复计算下一个x:
$$x = \begin{cases}
x/2 & \text{ x为偶数时 } \\
3x+1& \text{ x为奇数时 }
\end{cases}
$$
除法使用整除。要求当序列达到数值1时终止。
### 函数接口定义:
python
def collatz(x):
......
x是输入的一个正整数。
### 裁判测试程序样例:
Python
/* 请在这里填写答案 */
x = int(input())
collatz(x)
### 输入样例:
in
10
### 输出样例:
out
10
5
16
8
4
2
1
答案:若无答案欢迎评论
$$x = \begin{cases}
x/2 & \text{ x为偶数时 } \\
3x+1& \text{ x为奇数时 }
\end{cases}
$$
除法使用整除。要求当序列达到数值1时终止。
### 函数接口定义:
python
def collatz(x):
......
x是输入的一个正整数。
### 裁判测试程序样例:
Python
/* 请在这里填写答案 */
x = int(input())
collatz(x)
### 输入样例:
in
10
### 输出样例:
out
10
5
16
8
4
2
1
答案:若无答案欢迎评论