aboutsummaryrefslogtreecommitdiff
path: root/challenge-113/stuart-little/node/ch-1.js
diff options
context:
space:
mode:
authordrbaggy <js5@sanger.ac.uk>2021-05-18 22:19:52 +0100
committerdrbaggy <js5@sanger.ac.uk>2021-05-18 22:19:52 +0100
commitd8828a6cfbadb2f453508a4390777534ab4e5dca (patch)
tree777df3bd09f6988996d50aeefe21bd757cf57041 /challenge-113/stuart-little/node/ch-1.js
parentacf7efe3c26276e986c039273f2df7179de5ab24 (diff)
parent28e8ae0a51e27c2435ca1e8fc16f4eea32a78b05 (diff)
downloadperlweeklychallenge-club-d8828a6cfbadb2f453508a4390777534ab4e5dca.tar.gz
perlweeklychallenge-club-d8828a6cfbadb2f453508a4390777534ab4e5dca.tar.bz2
perlweeklychallenge-club-d8828a6cfbadb2f453508a4390777534ab4e5dca.zip
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'challenge-113/stuart-little/node/ch-1.js')
-rwxr-xr-xchallenge-113/stuart-little/node/ch-1.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/challenge-113/stuart-little/node/ch-1.js b/challenge-113/stuart-little/node/ch-1.js
new file mode 100755
index 0000000000..319423ece6
--- /dev/null
+++ b/challenge-113/stuart-little/node/ch-1.js
@@ -0,0 +1,20 @@
+#!/usr/bin/env node
+
+// run <script> <digit>
+
+function lastDigSumm(nr, dig, nrSummands) {
+ return ((nr - nrSummands * dig) % 10 == 0) && (nrSummands * dig <= nr) && (nrSummands * ((dig -1) * 10 + dig) >= nr)
+}
+
+function lastDig(nr,dig) {
+ return [...Array(9)].map((_,i) => i+1).filter(x => lastDigSumm(nr,dig,x)).length >= 1
+}
+
+function sol(nr,dig) {
+ if (dig == 0) {
+ return (nr >= 101 || (nr % 10 == 0))
+ }
+ return ((nr >= dig * 11) || lastDig(nr,dig))
+}
+
+console.log(sol(...process.argv.slice(2).map(x => parseInt(x))) ? 1 : 0)