diff options
Diffstat (limited to 'challenge-113/stuart-little/node/ch-1.js')
| -rwxr-xr-x | challenge-113/stuart-little/node/ch-1.js | 20 |
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) |
