31 lines
432 B
Plaintext
31 lines
432 B
Plaintext
hailstone[n] :=
|
|
{
|
|
results = new array
|
|
|
|
while n != 1
|
|
{
|
|
results.push[n]
|
|
if n mod 2 == 0 // n is even?
|
|
n = n / 2
|
|
else
|
|
n = (3n + 1)
|
|
}
|
|
|
|
results.push[1]
|
|
return results
|
|
}
|
|
|
|
longestLen = 0
|
|
longestN = 0
|
|
for n = 1 to 100000
|
|
{
|
|
seq = hailstone[n]
|
|
if length[seq] > longestLen
|
|
{
|
|
longestLen = length[seq]
|
|
longestN = n
|
|
}
|
|
}
|
|
|
|
println["$longestN has length $longestLen"]
|