summaryrefslogtreecommitdiff
path: root/euler46.myr
diff options
context:
space:
mode:
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
+ ;;
+ ;;
+}