diff options
| author | Abigail <abigail@abigail.be> | 2021-11-14 19:04:39 +0100 |
|---|---|---|
| committer | Abigail <abigail@abigail.be> | 2021-11-14 19:05:04 +0100 |
| commit | 522e70815e8a79ccd7f628768e6699bf54747dd5 (patch) | |
| tree | d8e23b976fee0c9e07c5636d3acd1e0619f223fa /challenge-138/abigail/node | |
| parent | c1db8bac0eaafcc7e7c94d712ce24dc69b776c53 (diff) | |
| download | perlweeklychallenge-club-522e70815e8a79ccd7f628768e6699bf54747dd5.tar.gz perlweeklychallenge-club-522e70815e8a79ccd7f628768e6699bf54747dd5.tar.bz2 perlweeklychallenge-club-522e70815e8a79ccd7f628768e6699bf54747dd5.zip | |
Solutions for week 138, part 2 in 14 languages.
Diffstat (limited to 'challenge-138/abigail/node')
| -rw-r--r-- | challenge-138/abigail/node/ch-2.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/challenge-138/abigail/node/ch-2.js b/challenge-138/abigail/node/ch-2.js new file mode 100644 index 0000000000..571e5ff5f2 --- /dev/null +++ b/challenge-138/abigail/node/ch-2.js @@ -0,0 +1,34 @@ +#!/usr/local/bin/node + +// +// See ../README.md +// + +// +// Run as: node ch-2.js < input-file +// + +function can_split (target, number) { + if (target > number || target < 0) {return false} + if (target == number) {return true} + + let pow_10 = 10 + + while (pow_10 <= number) { + if (can_split (target - (number % pow_10), + Math . floor (number / pow_10))) { + return true + } + pow_10 *= 10 + } + + return false +} + + + require ('readline') +. createInterface ({input: process . stdin}) +. on ('line', number => { + console . log (number > 1 && can_split + (Math . trunc (Math . sqrt (number)), number) ? 1 : 0) +}) |
