aboutsummaryrefslogtreecommitdiff
path: root/challenge-116/abigail/node
diff options
context:
space:
mode:
authorAbigail <abigail@abigail.be>2021-06-07 20:10:04 +0200
committerAbigail <abigail@abigail.be>2021-06-08 15:47:36 +0200
commit5f7b533e8cf34449a3a92a91dadc67856a883660 (patch)
tree2623082bdb2d849d7a06388c00c9d02441d6a985 /challenge-116/abigail/node
parentf08a13f3afd794045d93196c78b2c75f4959bd10 (diff)
downloadperlweeklychallenge-club-5f7b533e8cf34449a3a92a91dadc67856a883660.tar.gz
perlweeklychallenge-club-5f7b533e8cf34449a3a92a91dadc67856a883660.tar.bz2
perlweeklychallenge-club-5f7b533e8cf34449a3a92a91dadc67856a883660.zip
AWK, Bash, C, Lua, Node.js, Perl, Python, Ruby solutions for week 116, part 2.
Diffstat (limited to 'challenge-116/abigail/node')
-rw-r--r--challenge-116/abigail/node/ch-2.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/challenge-116/abigail/node/ch-2.js b/challenge-116/abigail/node/ch-2.js
new file mode 100644
index 0000000000..c11aa92ad4
--- /dev/null
+++ b/challenge-116/abigail/node/ch-2.js
@@ -0,0 +1,26 @@
+#!/usr/local/bin/node
+
+//
+// See ../README.md
+//
+
+//
+// Run as: node ch-2.js < input-file
+//
+
+require ('readline')
+. createInterface ({input: process . stdin})
+. on ('line', _ => console . log (squares_sum_to_square (_)))
+;
+
+
+function squares_sum_to_square (line) {
+ let sum_of_squares = 0
+ line . split ('') . forEach (letter => {
+ if ("0" <= letter && letter <= "9") {
+ sum_of_squares += + letter * + letter
+ }
+ })
+ let root = Math . floor (.5 + Math . sqrt (sum_of_squares))
+ return (sum_of_squares == root * root ? 1 : 0)
+}