summaryrefslogtreecommitdiff
path: root/euler92.myr
diff options
context:
space:
mode:
authorIru Cai <mytbk920423@gmail.com>2018-05-25 00:16:47 +0800
committerIru Cai <mytbk920423@gmail.com>2018-05-25 01:05:11 +0800
commit3caa8876e4c1d71cf8973d0d78231f16a0cd5b93 (patch)
tree37e104696c6aeb589b0771bb2143f1fec715d086 /euler92.myr
parent1eefd58ca4fdb5d2f51f657bfd70c9a89a4707db (diff)
downloadproject_euler-3caa8876e4c1d71cf8973d0d78231f16a0cd5b93.tar.xz
45, 46, 92
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)
+}