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,这个数列是有穷的,所以这个程序其实不是算法...
浙公网安备 33010602011771号