Hailstone冰雹序列问题

在复习数据结构,课程中提到Hailstone冰雹序列问题,问题如下

代码如下:

    public List<int> Hailstone(int n) {
        List<int> list = new List<int>();

        int current = n;
        list.Add(current);
        while (current > 1) {
            if (current % 2 == 0) {
                current = current / 2;
                list.Add(current);
            } else {
                current = 3 * current + 1;
                list.Add(current);
            }
        }
        list.Add(current);

        for (int i = 0; i < list.Count; i++) {
            print(list[i]);
        }

        return list;
    }

 当然也可以用递归来解决

 运算结果如下:

有趣的是,还没有证明对于任何n,这个数列是有穷的,所以这个程序其实不是算法...

原文地址:https://www.cnblogs.com/Mr147/p/10520605.html