Skip to content

UVa 694

Alex Wind edited this page Aug 5, 2014 · 2 revisions

The Collatz Sequence

from Volume 0. Getting Started

Problem

给你一个数 A,和一个数 L。以 A 为数列的首项,根据递推公式向后推出数列余项。但是数列的所有数,都不大于 L。因此,当递推出数列的某一项大于 L 后,数列即停止递推,且该项不属于数列。输出数列的项数。

Solution

照着题目的意思递推,边推边计数数列的项数。发现大于 L 的时候,退出递推即可。但是要注意,L 的值最大为231 - 1,所以你推出的数,可能大于231 - 1(因为你要拿推出的数跟 L 做比较),则会超过 int 的表示范围。

Clone this wiki locally