39 lines
754 B
Io
39 lines
754 B
Io
makeItHail := method(n,
|
|
stones := list(n)
|
|
while (n != 1,
|
|
if(n isEven,
|
|
n = n / 2,
|
|
n = 3 * n + 1
|
|
)
|
|
stones append(n)
|
|
)
|
|
stones
|
|
)
|
|
|
|
out := makeItHail(27)
|
|
writeln("For the sequence beginning at 27, the number of elements generated is ", out size, ".")
|
|
write("The first four elements generated are ")
|
|
for(i, 0, 3,
|
|
write(out at(i), " ")
|
|
)
|
|
writeln(".")
|
|
|
|
write("The last four elements generated are ")
|
|
for(i, out size - 4, out size - 1,
|
|
write(out at(i), " ")
|
|
)
|
|
writeln(".")
|
|
|
|
numOfElems := 0
|
|
nn := 3
|
|
for(x, 3, 100000,
|
|
out = makeItHail(x)
|
|
if(out size > numOfElems,
|
|
numOfElems = out size
|
|
nn = x
|
|
)
|
|
)
|
|
|
|
writeln("For numbers less than or equal to 100,000, ", nn,
|
|
" has the longest sequence of ", numOfElems, " elements.")
|