diff options
Diffstat (limited to 'euler92.myr')
-rw-r--r-- | euler92.myr | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/euler92.myr b/euler92.myr new file mode 100644 index 0000000..3092405 --- /dev/null +++ b/euler92.myr @@ -0,0 +1,27 @@ +use std + +const goto89 = {x + const sqrsum = {y + var sum = 0 + while y > 0 + var b = y % 10 + y = y / 10 + sum += b * b + ;; + -> sum + } + while x != 1 && x != 89 + x = sqrsum(x) + ;; + -> x == 89 +} + +const main = { + var n = 0 + for var i = 1; i < 10_000_000; i++ + if goto89(i) + n++ + ;; + ;; + std.put("{}\n", n) +} |