目前HailStone序列还未被证明是否有穷,所以它未必是一个算法。
* HailStone序列
* n=1时,返回1;
* n>1时且为偶数时,{n} ∪ {n/2}
* n>1时且为奇数时,{n} ∪ {3n + 1}
/** * HailStone序列 * n=1时,返回1; * n>1时且为偶数时,{n} ∪ {n / 2} * n>1时且为奇数时,{n} ∪ {3n + 1} * * @param n * @return */ public static String hailStone(int n) { StringBuilder str = new StringBuilder(); while (n > 1) { str.append(n + ", "); if (n % 2 == 0) { n = n/2; } else { n = 3 * n + 1; } } if (n == 1) { str.append(n + ", "); } return str.substring(0, str.length() - 2); }