UOJ Logo 蜗牛编程训练题库

JZOJ

#40. Collatz序列

统计
时间限制:1s    空间限制:256MB    输入文件:collatz.in    输出文件:collatz.out
当前24小时内您还剩30次提交本题的机会

题目描述

奶牛们正在玩一个有趣的数字游戏。

其中的一头牛选出一个小于32000的正整数N。奶牛们就开始下赌注这个数的Collatz序列的长度是否会超过一个数比如100。

Collatz序列是这样计算的:从一个整数C开始,

如果C为1,序列结束。否则

如果C为偶数,就把它平分产生一个新的C/2

如果C为奇数,就把它替换为3$\times$ C+1

照这个规则继续下去直到结束。 考虑以10开始的Collatz序列: 10,5,16,8,4,2,1

它的长度是7。

请你帮助其中的一头牛作弊:给定一个N,计算出它的Collatz序列的长度。

输入格式

单独的一行,一个整数N。

输出格式

单独的一行,一个整数表示以N开头的Collatz序列的长度。

样例数据

input

10

output

7

数据规模与约定

保证$N \leq 32000$。

时间限制:$1 \text {s}$

空间限制:$256 \text {MB}$

解题讨论区

标题 发表者 发表日期