1 HailStone序列
目前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);
}