diff options
author | Iru Cai <mytbk920423@gmail.com> | 2018-05-25 14:13:16 +0800 |
---|---|---|
committer | Iru Cai <mytbk920423@gmail.com> | 2018-05-25 14:13:16 +0800 |
commit | d5c645bf83f144838e84b21e4941a0e42b0a9a61 (patch) | |
tree | 7164988f5dcfa2264d50f4c184f4c278f5983d27 /euler47.myr | |
parent | 3caa8876e4c1d71cf8973d0d78231f16a0cd5b93 (diff) | |
download | project_euler-d5c645bf83f144838e84b21e4941a0e42b0a9a61.tar.xz |
47, 49, 50
Diffstat (limited to 'euler47.myr')
-rw-r--r-- | euler47.myr | 49 |
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 + ;; +} |