support up to 6 args, euler

This commit is contained in:
2025-06-01 16:12:47 +02:00
parent 7fa08d8b37
commit 8a0fbac739
12 changed files with 213 additions and 24 deletions

27
examples/euler14.zr Normal file
View File

@@ -0,0 +1,27 @@
func print_i64[x : I64] : I64
printf("%ld\n", x)
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)