rewrite smarter people's euler solutions

This commit is contained in:
2025-12-23 17:48:30 +01:00
parent 3be891c7cc
commit 5682318915
7 changed files with 173 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
func divisors_sum[n: i64] : i64
let k: i64 = n
let sum: i64 = 1
for i in 2..k+1
let p: i64 = 1
while k % i == 0
p = p * i
k = k / i
sum = sum * (p * i - 1) / (i - 1)
return sum - n
func main[] : i64
let sum: i64 = 0
for i in 2..10000
let d: i64 = divisors_sum(i)
if i < d & i == divisors_sum(d)
sum = sum + i + d
io.println_i64(sum)