aboutsummaryrefslogtreecommitdiff
path: root/challenge-141/abigail/node/ch-2.js
diff options
context:
space:
mode:
authorPaulo Custodio <pauloscustodio@gmail.com>2021-12-06 14:55:30 +0000
committerPaulo Custodio <pauloscustodio@gmail.com>2021-12-06 14:55:30 +0000
commitcd04687f29d4ebea2fd5ec165585b21f2951f413 (patch)
tree5c17b623d6b7a8cb803a4464f19d157152143e62 /challenge-141/abigail/node/ch-2.js
parentfe57a0405720a40beaeb75100e069aaa13e4c49e (diff)
parentb9773f5c38387d865a093d2ecdfd1b01b4452c34 (diff)
downloadperlweeklychallenge-club-cd04687f29d4ebea2fd5ec165585b21f2951f413.tar.gz
perlweeklychallenge-club-cd04687f29d4ebea2fd5ec165585b21f2951f413.tar.bz2
perlweeklychallenge-club-cd04687f29d4ebea2fd5ec165585b21f2951f413.zip
Merge branch 'master' into devel
Diffstat (limited to 'challenge-141/abigail/node/ch-2.js')
-rw-r--r--challenge-141/abigail/node/ch-2.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/challenge-141/abigail/node/ch-2.js b/challenge-141/abigail/node/ch-2.js
new file mode 100644
index 0000000000..53b7b7ac44
--- /dev/null
+++ b/challenge-141/abigail/node/ch-2.js
@@ -0,0 +1,32 @@
+#!/usr/local/bin/node
+
+//
+// See ../README.md
+//
+
+//
+// Run as: node ch-2.js < input-file
+//
+
+function substrings (n, m, prefix, max) {
+ if (n . length == 0) {
+ return prefix > -1 &&
+ prefix < max &&
+ prefix % m == 0 ? 1 : 0
+ }
+
+ let fc = n . substr (0, 1)
+ let tail = n . substr (1)
+ let n_prefix = 10 * (prefix == -1 ? 0 : prefix) + + n . substr (0, 1)
+
+ return substrings (tail, m, n_prefix, max) +
+ substrings (tail, m, prefix, max);
+}
+
+ require ('readline')
+. createInterface ({input: process . stdin})
+. on ('line', line => {
+ let [n, m] = line . split (" ")
+ console . log (substrings (n, +m, -1, +n))
+})
+