aboutsummaryrefslogtreecommitdiff
path: root/challenge-138/abigail/node/ch-2.js
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-138/abigail/node/ch-2.js')
-rw-r--r--challenge-138/abigail/node/ch-2.js34
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)
+})