summaryrefslogtreecommitdiff
path: root/euler92.myr
diff options
context:
space:
mode:
Diffstat (limited to 'euler92.myr')
-rw-r--r--euler92.myr27
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)
+}