#12036. 害死人不偿命的 (3n+1) 猜想 / The Callatz Conjecture

害死人不偿命的 (3n+1) 猜想 / The Callatz Conjecture

Problem J49: 害死人不偿命的 (3n+1) 猜想 / The Callatz Conjecture

版权信息: 改编自浙大 PAT 基础题 · 数学模拟训练


任务总览

任务名称 时间限制 内存限制 分数
卡拉兹猜想步数计算 1 sec 64 MB 10 points

题目描述

卡拉兹(Callatz)猜想的内容如下:

对任意一个正整数 nn,若 nn 是偶数,则将它除以 2;若 nn 是奇数,则将 3n+13n + 1 后再除以 2。 反复执行上述操作,最终一定可以得到 n=1n = 1

虽然我们不要求你去证明这个猜想,但请你写一个程序,​ 计算从任意给定的正整数 nn 经过几步可以变成 1 ​。


输入格式

输入仅一行,包含一个正整数 nn1n10001 \leq n \leq 1000)。


输出格式

输出一个整数,即从 nn 变换到 1 所需的步数(操作次数)。


输入输出样例

输入样例

3

输出样例

5

提示说明

n=3n = 3 为例,变化过程如下:

3 →(3×3 + 1) / 2 = 5
5 →(3×5 + 1) / 2 = 8
8 → 4 → 2 → 1

总共执行了 5 步操作。