aboutsummaryrefslogtreecommitdiff
path: root/challenge-139/abigail/node
diff options
context:
space:
mode:
authorAbigail <abigail@abigail.be>2021-11-17 16:09:09 +0100
committerAbigail <abigail@abigail.be>2021-11-17 19:20:28 +0100
commit62167a58d3c55a71f37815381c858fad45825a8d (patch)
treec2dab46599fc720673c6f1b4c8378c00e99dfeb2 /challenge-139/abigail/node
parent83b91177f7b1aced78863b336bd236a40f7e1aef (diff)
downloadperlweeklychallenge-club-62167a58d3c55a71f37815381c858fad45825a8d.tar.gz
perlweeklychallenge-club-62167a58d3c55a71f37815381c858fad45825a8d.tar.bz2
perlweeklychallenge-club-62167a58d3c55a71f37815381c858fad45825a8d.zip
Solutions for week 139
Diffstat (limited to 'challenge-139/abigail/node')
-rw-r--r--challenge-139/abigail/node/ch-1.js20
-rw-r--r--challenge-139/abigail/node/ch-2.js37
2 files changed, 57 insertions, 0 deletions
diff --git a/challenge-139/abigail/node/ch-1.js b/challenge-139/abigail/node/ch-1.js
new file mode 100644
index 0000000000..f45be6188c
--- /dev/null
+++ b/challenge-139/abigail/node/ch-1.js
@@ -0,0 +1,20 @@
+#!/usr/local/bin/node
+
+//
+// See ../README.md
+//
+
+//
+// Run as: node ch-1.js < input-file
+//
+
+ require ('readline')
+. createInterface ({input: process . stdin})
+. on ('line', line => {
+ console . log (line . match (/[0-9]+/gi) . reduce ((sorted, _, i, list) => {
+ if (i > 0 && list [i - 1] > list [i]) {sorted = 0}
+ return sorted},
+ 1)
+ )
+})
+
diff --git a/challenge-139/abigail/node/ch-2.js b/challenge-139/abigail/node/ch-2.js
new file mode 100644
index 0000000000..88f78d7b99
--- /dev/null
+++ b/challenge-139/abigail/node/ch-2.js
@@ -0,0 +1,37 @@
+#!/usr/local/bin/node
+
+//
+// See ../README.md
+//
+
+//
+// Run as: node ch-2.js
+//
+
+let BASE = 10
+let COUNT = 5
+
+function is_long (number) {
+ let seen = Array (number) . fill (0)
+ let rest = 0
+ for (let i = 2; i <= number; i ++) {
+ rest = (rest * BASE + BASE - 1) % number
+ if (seen [rest] == 1) {
+ return 0
+ }
+ seen [rest] = 1
+ }
+ return 1
+}
+
+let number = 1
+while (COUNT > 0) {
+ number ++
+ if (BASE % number == 0) {
+ continue
+ }
+ if (is_long (number)) {
+ console . log (number)
+ COUNT --
+ }
+}