#P0016. 3N+1 问题
3N+1 问题
1. 问题描述
数学中一个很著名的问题:
一个大于 1 的整数 num,一直按照以下规则计算
- 如果
num是奇数,num = 3 * num + 1 - 如果
num是偶数,num = num // 2
重复以上规则,多次计算之后,一定会得到 1,打印出整个计算过程
例如:num = 30
输出:30 -> 15 -> 46 -> 23 -> 70 -> 35 -> 106 -> 53 -> 160 -> 80 -> 40 -> 20 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1
2. 输入和输出
输入方式:
- 一个正整数
- 使用
input()读入, 注意读入之后是一个字符串
输出方式:
- 一个字符串代表计算过程,注意箭头和数字中间有一个空格分隔
- 使用
print()输出
输入输出示例
# 输入:
1
# 输出:
1
# 输入:
3
# 输出:
3 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1