diff options
Diffstat (limited to 'challenge-138/abigail/node/ch-2.js')
| -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) +}) |
