diff options
| author | Abigail <abigail@abigail.be> | 2021-10-18 22:00:56 +0200 |
|---|---|---|
| committer | Abigail <abigail@abigail.be> | 2021-10-18 22:00:56 +0200 |
| commit | e65a48092eba86eeb10c54a4637d0c5ee2b375da (patch) | |
| tree | f26aff7a97d097d5fbbc5407a0b64f81f1555a71 | |
| parent | b29cb298a8d08a9d47d37b3d1ee7a62cc31a43d3 (diff) | |
| download | perlweeklychallenge-club-e65a48092eba86eeb10c54a4637d0c5ee2b375da.tar.gz perlweeklychallenge-club-e65a48092eba86eeb10c54a4637d0c5ee2b375da.tar.bz2 perlweeklychallenge-club-e65a48092eba86eeb10c54a4637d0c5ee2b375da.zip | |
Node.js solutions for week 135
| -rw-r--r-- | challenge-135/abigail/README.md | 2 | ||||
| -rw-r--r-- | challenge-135/abigail/node/ch-1.js | 32 | ||||
| -rw-r--r-- | challenge-135/abigail/node/ch-2.js | 29 |
3 files changed, 63 insertions, 0 deletions
diff --git a/challenge-135/abigail/README.md b/challenge-135/abigail/README.md index 5d1820d670..9affa5c624 100644 --- a/challenge-135/abigail/README.md +++ b/challenge-135/abigail/README.md @@ -5,6 +5,7 @@ * [AWK](awk/ch-1.awk) * [Bash](bash/ch-1.sh) * [C](c/ch-1.c) +* [Node.js](node/ch-1.js) * [Perl](perl/ch-1.pl) ## Part 2 @@ -12,4 +13,5 @@ * [AWK](awk/ch-2.awk) * [Bash](bash/ch-1.sh) * [C](c/ch-2.c) +* [Node.js](node/ch-1.js) * [Perl](perl/ch-2.pl) diff --git a/challenge-135/abigail/node/ch-1.js b/challenge-135/abigail/node/ch-1.js new file mode 100644 index 0000000000..a16d936f9d --- /dev/null +++ b/challenge-135/abigail/node/ch-1.js @@ -0,0 +1,32 @@ +#!/usr/local/bin/node + +// +// See ../README.md +// + +// +// Run as: node ch-1.js < input-file +// + + require ('readline') +. createInterface ({input: process . stdin}) +. on ('line', line => { + line = line . replace (/^[-+]/, '') . trim () + if (line . match (/[^0-9]/)) { + console . log ("not an integer") + } + else { + if (line . length % 2 == 0) { + console . log ("even number of digits") + } + else { + if (line . length < 3) { + console . log ("too short") + } + else { + console . log (line . substr ((line . length - 3) / 2, 3)) + } + } + } +}) + diff --git a/challenge-135/abigail/node/ch-2.js b/challenge-135/abigail/node/ch-2.js new file mode 100644 index 0000000000..d1ef83492a --- /dev/null +++ b/challenge-135/abigail/node/ch-2.js @@ -0,0 +1,29 @@ +#!/usr/local/bin/node + +// +// See ../README.md +// + +// +// Run as: node ch-2.js < input-file +// + +let w = [1, 3, 1, 7, 3, 9, 1] + + require ('readline') +. createInterface ({input: process . stdin}) +. on ('line', line => { + line = line . trim () + if (line . length != 7 || line . match (/[^0-9BCDFGHJKLMNPQRSTVWXYZ]/)) { + console . log (0) + } + else { + let check = 0 + for (let i = 0; i < 7; i ++) { + let value = line . charCodeAt (i) + value -= value <= 57 ? 48 : 55 + check += w [i] * value + } + console . log (check % 10 == 0 ? 1 : 0) + } +}) |
