From 60c68b3209b3c09d3cbd29b4ef33080546a43fbd Mon Sep 17 00:00:00 2001 From: David Ferrone Date: Fri, 15 Mar 2024 11:21:15 -0400 Subject: Weekly Challenge Blast from the Past --- challenge-012/zapwai/javascript/ch-1.js | 49 +++++++++++++++++++++++++++++++++ challenge-012/zapwai/javascript/ch-2.js | 23 ++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 challenge-012/zapwai/javascript/ch-1.js create mode 100644 challenge-012/zapwai/javascript/ch-2.js (limited to 'challenge-012/zapwai/javascript') diff --git a/challenge-012/zapwai/javascript/ch-1.js b/challenge-012/zapwai/javascript/ch-1.js new file mode 100644 index 0000000000..f16531410b --- /dev/null +++ b/challenge-012/zapwai/javascript/ch-1.js @@ -0,0 +1,49 @@ +let primes = [2]; + +function is_prime(num) { + for (let p of primes) { + if (p < num) { + if (num % p == 0) + return false; + } + else { + break; + } + } + return true; +} + +function primorial(n) { + let p = 1; + while (n > 0) { + n--; + p *= primes[n]; + } + return p; +} + +function fill_primes(num) { + let i = 2; + while (primes[primes.length-1] < num) { + i++; + let cnt = 0; + for (let j = 0; j < primes.length; j++) { + if (i % primes[j] == 0) + cnt++; + } + if (cnt == 0) + primes.push(i); + } +} + +function euclid(i) { + return 1 + primorial(i); +} + +fill_primes(15000); +for (let i = 2; i < 8; i++) { + if (!(is_prime(euclid(i)))) { + console.log(euclid(i)); + break; + } +} diff --git a/challenge-012/zapwai/javascript/ch-2.js b/challenge-012/zapwai/javascript/ch-2.js new file mode 100644 index 0000000000..fecd56d950 --- /dev/null +++ b/challenge-012/zapwai/javascript/ch-2.js @@ -0,0 +1,23 @@ +let input = `/a/b/c/d +/a/b/cd +/a/b/cc +/a/b/c/d/e`; + +function proc(input) { + let line = input.split("\n"); + let prefix = line[0]; + let cnt = 1; + while (cnt > 0) { + cnt = 0; + prefix = prefix.slice(0,prefix.lastIndexOf("/")); + for (let i = 0; i < line.length; i++) { + let pattern = new RegExp("^"+prefix+"/"); + if (!pattern.test(line[i])) { + cnt++; + } + } + } + return prefix; +} + +console.log(proc(input)) -- cgit