24 lines
474 B
Plaintext
24 lines
474 B
Plaintext
func collatz_num[n: I64] : I64
|
|
if n % 2 == 0
|
|
return n / 2
|
|
return n * 3 + 1
|
|
|
|
func collatz_seq[n: I64]: I64
|
|
let i: I64 = 1
|
|
while n != 1
|
|
n = collatz_num(n)
|
|
i = i + 1
|
|
return i
|
|
|
|
func main[] : I64
|
|
let max: I64 = 0
|
|
let max_index: I64 = 0
|
|
|
|
let i: I64 = 1
|
|
while i < 1000000
|
|
let seq: I64 = collatz_seq(i)
|
|
if seq > max
|
|
max = seq
|
|
max_index = i
|
|
i = i + 1
|
|
print_i64(max_index) |