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,这个数列是有穷的,所以这个程序其实不是算法...