summaryrefslogtreecommitdiff
path: root/euler47.myr
diff options
context:
space:
mode:
authorIru Cai <mytbk920423@gmail.com>2018-05-25 14:13:16 +0800
committerIru Cai <mytbk920423@gmail.com>2018-05-25 14:13:16 +0800
commitd5c645bf83f144838e84b21e4941a0e42b0a9a61 (patch)
tree7164988f5dcfa2264d50f4c184f4c278f5983d27 /euler47.myr
parent3caa8876e4c1d71cf8973d0d78231f16a0cd5b93 (diff)
downloadproject_euler-d5c645bf83f144838e84b21e4941a0e42b0a9a61.tar.xz
47, 49, 50
Diffstat (limited to 'euler47.myr')
-rw-r--r--euler47.myr49
1 files changed, 49 insertions, 0 deletions
diff --git a/euler47.myr b/euler47.myr
new file mode 100644
index 0000000..f53bec0
--- /dev/null
+++ b/euler47.myr
@@ -0,0 +1,49 @@
+use std
+
+const n_prime_factors = {n
+ var nf = 0
+ var p = 3
+
+ if n % 2 == 0
+ while n % 2 == 0
+ n /= 2
+ ;;
+ nf = 1
+ ;;
+
+ while n > 1
+ if n % p == 0
+ while n % p == 0
+ n /= p
+ ;;
+ nf ++
+ ;;
+ p += 2;
+ ;;
+ -> nf
+}
+
+
+const main = {
+ var i = 210
+ while true
+ if !(n_prime_factors(i) == 4)
+ i++
+ continue
+ ;;
+ if !(n_prime_factors(i+1) == 4)
+ i += 2
+ continue
+ ;;
+ if !(n_prime_factors(i+2) == 4)
+ i += 3
+ continue
+ ;;
+ if !(n_prime_factors(i+3) == 4)
+ i += 4
+ continue
+ ;;
+ std.put("{}\n", i)
+ break
+ ;;
+}