summaryrefslogtreecommitdiff
path: root/euler46.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 /euler46.myr
parent1eefd58ca4fdb5d2f51f657bfd70c9a89a4707db (diff)
downloadproject_euler-3caa8876e4c1d71cf8973d0d78231f16a0cd5b93.tar.xz
45, 46, 92
Diffstat (limited to 'euler46.myr')
-rw-r--r--euler46.myr36
1 files changed, 36 insertions, 0 deletions
diff --git a/euler46.myr b/euler46.myr
new file mode 100644
index 0000000..0aa1180
--- /dev/null
+++ b/euler46.myr
@@ -0,0 +1,36 @@
+use std
+
+const isprime = {x
+ if (x < 1)
+ -> false
+ ;;
+ for var i = 2; i * i <= x; i++
+ if (x % i ==0)
+ -> false
+ ;;
+ ;;
+ -> true
+}
+
+const main = {
+ for var i = 9; true; i+=2
+ if (isprime(i))
+ continue
+ ;;
+ var found = true
+ for var j = 1; true; j++
+ var t = i - j * j * 2
+ if t <= 0
+ break
+ ;;
+ if (isprime(t))
+ found = false
+ break
+ ;;
+ ;;
+ if found
+ std.put("{}\n", i)
+ break
+ ;;
+ ;;
+}