aboutsummaryrefslogtreecommitdiff
path: root/challenge-143
diff options
context:
space:
mode:
authorConor Hoekstra <codereport@outlook.com>2021-12-24 22:16:15 -0500
committerConor Hoekstra <codereport@outlook.com>2021-12-24 22:16:15 -0500
commitc804b128cf740d95b244cd3fe15e86d0820ab51e (patch)
treeb9db7c3a5f93e6a83640f56bfd5decb9bbe8dbfe /challenge-143
parent116add27d0d74360c7d4ad26b12d972657e51afa (diff)
parent6f518c687f743b68d3eeddedcf3d831aca20d4ec (diff)
downloadperlweeklychallenge-club-c804b128cf740d95b244cd3fe15e86d0820ab51e.tar.gz
perlweeklychallenge-club-c804b128cf740d95b244cd3fe15e86d0820ab51e.tar.bz2
perlweeklychallenge-club-c804b128cf740d95b244cd3fe15e86d0820ab51e.zip
Merge branch 'master' of https://github.com/manwar/perlweeklychallenge-club
Diffstat (limited to 'challenge-143')
-rw-r--r--challenge-143/abigail/README.md12
-rw-r--r--challenge-143/abigail/bash/ch-1.sh1
-rw-r--r--challenge-143/abigail/bc/ch-1.bc1
-rw-r--r--challenge-143/abigail/lua/ch-1.lua13
-rw-r--r--challenge-143/abigail/node/ch-1.js10
-rw-r--r--challenge-143/abigail/perl/ch-1.pl1
-rw-r--r--challenge-143/abigail/perl/ch-2.pl33
-rw-r--r--challenge-143/abigail/python/ch-1.py13
-rw-r--r--challenge-143/abigail/r/ch-1.r16
-rw-r--r--challenge-143/abigail/ruby/ch-1.rb7
-rw-r--r--challenge-143/abigail/t/ctest.ini8
-rw-r--r--challenge-143/abigail/t/input-1-12
-rw-r--r--challenge-143/abigail/t/input-2-13
-rw-r--r--challenge-143/abigail/t/output-1-1.exp2
-rw-r--r--challenge-143/abigail/t/output-2-1.exp3
-rw-r--r--challenge-143/abigail/tcl/ch-1.tcl5
-rw-r--r--challenge-143/adam-russell/blog.txt1
-rw-r--r--challenge-143/adam-russell/blog1.txt1
-rw-r--r--challenge-143/adam-russell/perl/TWCCalculator.yp53
-rw-r--r--challenge-143/adam-russell/perl/ch-1.pl22
-rw-r--r--challenge-143/adam-russell/perl/ch-2.pl37
-rw-r--r--challenge-143/adam-russell/prolog/ch-1.p22
-rw-r--r--challenge-143/adam-russell/prolog/ch-2.p17
-rwxr-xr-xchallenge-143/alexander-pankoff/perl/ch-1.pl7
-rwxr-xr-xchallenge-143/alexander-pankoff/perl/ch-2.pl61
-rw-r--r--challenge-143/arne-sommer/blog.txt1
-rwxr-xr-xchallenge-143/arne-sommer/perl/calculator-eval-perl11
-rwxr-xr-xchallenge-143/arne-sommer/perl/ch-1.pl11
-rwxr-xr-xchallenge-143/arne-sommer/perl/ch-2.pl63
-rwxr-xr-xchallenge-143/arne-sommer/perl/stealthy-number-perl63
-rwxr-xr-xchallenge-143/arne-sommer/raku/calculator-eval5
-rwxr-xr-xchallenge-143/arne-sommer/raku/calculator-eval-safer5
-rwxr-xr-xchallenge-143/arne-sommer/raku/ch-1.raku5
-rwxr-xr-xchallenge-143/arne-sommer/raku/ch-2.raku53
-rwxr-xr-xchallenge-143/arne-sommer/raku/divisor-pairs31
-rwxr-xr-xchallenge-143/arne-sommer/raku/stealthy-number53
-rw-r--r--challenge-143/athanasius/perl/ch-1.pl274
-rw-r--r--challenge-143/athanasius/perl/ch-2.pl225
-rw-r--r--challenge-143/athanasius/raku/ch-2.raku187
-rwxr-xr-xchallenge-143/colin-crain/perl/ch-1.pl78
-rwxr-xr-xchallenge-143/colin-crain/perl/ch-2.pl143
-rw-r--r--challenge-143/conor-hoekstra/apl/ch-1.apl (renamed from challenge-143/conor-hoekstra/ch-01.apl)0
-rw-r--r--challenge-143/conor-hoekstra/apl/ch-2.apl (renamed from challenge-143/conor-hoekstra/ch-02.apl)0
-rw-r--r--challenge-143/dave-jacoby/blog.txt1
-rw-r--r--challenge-143/dave-jacoby/perl/ch-1.pl62
-rw-r--r--challenge-143/dave-jacoby/perl/ch-2.pl41
-rwxr-xr-xchallenge-143/david-santiago/raku/ch-1.raku5
-rwxr-xr-xchallenge-143/david-santiago/raku/ch-2.raku16
-rw-r--r--challenge-143/duncan-c-white/README68
-rwxr-xr-xchallenge-143/duncan-c-white/perl/ch-1.pl139
-rwxr-xr-xchallenge-143/duncan-c-white/perl/ch-2.pl126
-rwxr-xr-xchallenge-143/e-choroba/perl/ch-1.pl62
-rwxr-xr-xchallenge-143/e-choroba/perl/ch-2.pl24
-rw-r--r--challenge-143/james-smith/README.md144
-rw-r--r--challenge-143/james-smith/blog.txt1
-rw-r--r--challenge-143/james-smith/perl/ch-1.pl94
-rw-r--r--challenge-143/james-smith/perl/ch-2.pl66
-rw-r--r--challenge-143/laurent-rosenfeld/blog.txt1
-rw-r--r--challenge-143/laurent-rosenfeld/perl/ch-1.pl13
-rw-r--r--challenge-143/laurent-rosenfeld/perl/ch-2.pl33
-rw-r--r--challenge-143/laurent-rosenfeld/raku/ch-1.raku11
-rw-r--r--challenge-143/laurent-rosenfeld/raku/ch-2.raku17
-rw-r--r--challenge-143/luca-ferrari/blog-1.txt1
-rw-r--r--challenge-143/luca-ferrari/blog-2.txt1
-rw-r--r--challenge-143/luca-ferrari/blog-3.txt1
-rw-r--r--challenge-143/luca-ferrari/postgresql/ch-2.sql32
-rw-r--r--challenge-143/luca-ferrari/raku/ch-1.p6124
-rw-r--r--challenge-143/luca-ferrari/raku/ch-2.p623
-rw-r--r--challenge-143/mark-senn/blog.txt1
-rw-r--r--challenge-143/mark-senn/raku/ch-2.raku16
-rw-r--r--challenge-143/mark-senn/wolfram/ch-2.wl7
-rwxr-xr-xchallenge-143/mattneleigh/perl/ch-1.pl289
-rw-r--r--challenge-143/paulo-custodio/perl/ch-1.pl100
-rw-r--r--challenge-143/paulo-custodio/perl/ch-2.pl44
-rw-r--r--challenge-143/paulo-custodio/python/ch-1.py8
-rw-r--r--challenge-143/paulo-custodio/python/ch-2.py32
-rwxr-xr-xchallenge-143/pete-houston/perl/ch-2.pl43
-rw-r--r--challenge-143/peter-campbell-smith/blog.txt1
-rwxr-xr-xchallenge-143/peter-campbell-smith/perl/ch-1.pl21
-rwxr-xr-xchallenge-143/peter-campbell-smith/perl/ch-2.pl38
-rw-r--r--challenge-143/polettix/blog.txt1
-rw-r--r--challenge-143/polettix/blog1.txt1
-rw-r--r--challenge-143/polettix/perl/ch-1.pl143
-rw-r--r--challenge-143/polettix/perl/ch-2.pl19
-rw-r--r--challenge-143/polettix/raku/ch-1.raku43
-rw-r--r--challenge-143/polettix/raku/ch-2.raku19
-rw-r--r--challenge-143/robert-dicicco/perl/ch-1.pl18
-rw-r--r--challenge-143/robert-dicicco/perl/ch-2.pl38
-rw-r--r--challenge-143/roger-bell-west/blog.txt1
-rw-r--r--challenge-143/sgreen/README.md4
-rw-r--r--challenge-143/sgreen/blog.txt1
-rwxr-xr-xchallenge-143/sgreen/perl/ch-1.pl60
-rwxr-xr-xchallenge-143/sgreen/perl/ch-2.pl33
-rwxr-xr-xchallenge-143/sgreen/python/ch-2.py30
-rw-r--r--challenge-143/ulrich-rieke/haskell/ch-2.hs36
-rw-r--r--challenge-143/ulrich-rieke/perl/ch-2.pl57
-rw-r--r--challenge-143/ulrich-rieke/raku/ch-2.raku45
-rw-r--r--challenge-143/wambash/raku/ch-1.raku51
-rw-r--r--challenge-143/wlmb/blog.txt1
-rwxr-xr-xchallenge-143/wlmb/perl/ch-1.pl73
-rwxr-xr-xchallenge-143/wlmb/perl/ch-2.pl23
101 files changed, 3785 insertions, 177 deletions
diff --git a/challenge-143/abigail/README.md b/challenge-143/abigail/README.md
index d589af7261..48a5093c46 100644
--- a/challenge-143/abigail/README.md
+++ b/challenge-143/abigail/README.md
@@ -2,4 +2,16 @@
## Part 1
+* [Bash](bash/ch-1.sh)
+* [Bc](bc/ch-1.bc)
+* [Lua](lua/ch-1.lua)
+* [Node.js](node/ch-1.js)
* [Perl](perl/ch-1.pl)
+* [Python](python/ch-1.py)
+* [R](r/ch-1.r)
+* [Ruby](ruby/ch-1.rb)
+* [Tcl](tcl/ch-1.tcl)
+
+## Part 2
+
+* [Perl](perl/ch-2.pl)
diff --git a/challenge-143/abigail/bash/ch-1.sh b/challenge-143/abigail/bash/ch-1.sh
new file mode 100644
index 0000000000..db6e8363a1
--- /dev/null
+++ b/challenge-143/abigail/bash/ch-1.sh
@@ -0,0 +1 @@
+while read l;do echo $(($l));done
diff --git a/challenge-143/abigail/bc/ch-1.bc b/challenge-143/abigail/bc/ch-1.bc
new file mode 100644
index 0000000000..dc63c2a8f4
--- /dev/null
+++ b/challenge-143/abigail/bc/ch-1.bc
@@ -0,0 +1 @@
+bc < input-file
diff --git a/challenge-143/abigail/lua/ch-1.lua b/challenge-143/abigail/lua/ch-1.lua
new file mode 100644
index 0000000000..524751df03
--- /dev/null
+++ b/challenge-143/abigail/lua/ch-1.lua
@@ -0,0 +1,13 @@
+#!/opt/local/bin/lua
+
+--
+-- See ../README.md
+--
+
+--
+-- Run as: lua ch-1.lua < input-file
+--
+
+for line in io . lines () do
+ (load ("print (" .. line .. ")")) ()
+end
diff --git a/challenge-143/abigail/node/ch-1.js b/challenge-143/abigail/node/ch-1.js
new file mode 100644
index 0000000000..33be42296f
--- /dev/null
+++ b/challenge-143/abigail/node/ch-1.js
@@ -0,0 +1,10 @@
+#!/usr/local/bin/node
+
+//
+// Run as: node ch-1.js < input-file
+//
+
+ require ('readline')
+. createInterface ({input: process . stdin})
+. on ('line', line => {console . log (eval (line))})
+
diff --git a/challenge-143/abigail/perl/ch-1.pl b/challenge-143/abigail/perl/ch-1.pl
new file mode 100644
index 0000000000..8ae1d21ccb
--- /dev/null
+++ b/challenge-143/abigail/perl/ch-1.pl
@@ -0,0 +1 @@
+use 5.01;say eval for <> # Maybe a challenge for language without eval. Not Perl
diff --git a/challenge-143/abigail/perl/ch-2.pl b/challenge-143/abigail/perl/ch-2.pl
new file mode 100644
index 0000000000..2109647bf2
--- /dev/null
+++ b/challenge-143/abigail/perl/ch-2.pl
@@ -0,0 +1,33 @@
+#!/opt/perl/bin/perl
+
+use 5.032;
+
+use strict;
+use warnings;
+no warnings 'syntax';
+
+use experimental 'signatures';
+use experimental 'lexical_subs';
+
+#
+# Run as: perl ch-2.pl < input-file
+#
+
+#
+# And for the fourth week in succession we're solving need the
+# majority of the problem by getting the divisors of a number.
+#
+# Perhaps it is time to say:
+# "I'm completely out of ideas, let's skip this week".
+#
+# Big Yawn
+#
+
+use Math::Prime::Util qw [divisors];
+
+while (my $n = <>) {
+ # Put sum of divisor pairs in hash.
+ my %s = map {$_ + $n / $_ => 1} divisors 0 + $n;
+ # Any difference of 1?
+ say grep ({$s {$_ - 1}} keys %s) ? 1 : 0;
+}
diff --git a/challenge-143/abigail/python/ch-1.py b/challenge-143/abigail/python/ch-1.py
new file mode 100644
index 0000000000..3b67604548
--- /dev/null
+++ b/challenge-143/abigail/python/ch-1.py
@@ -0,0 +1,13 @@
+#!/opt/local/bin/python
+
+#
+# See ../README.md
+#
+
+#
+# Run as: python ch-1.py < input-file
+#
+
+import fileinput
+
+for line in fileinput . input (): print (eval (line))
diff --git a/challenge-143/abigail/r/ch-1.r b/challenge-143/abigail/r/ch-1.r
new file mode 100644
index 0000000000..238fc25f08
--- /dev/null
+++ b/challenge-143/abigail/r/ch-1.r
@@ -0,0 +1,16 @@
+#
+# See ../README.md
+#
+
+#
+# Run as: Rscript ch-1.r < input-file
+#
+
+stdin <- file ('stdin', 'r')
+repeat {
+ n <- readLines (stdin, n = 1)
+ if (length (n) == 0) {
+ break
+ }
+ print (eval (parse (text = n)))
+}
diff --git a/challenge-143/abigail/ruby/ch-1.rb b/challenge-143/abigail/ruby/ch-1.rb
new file mode 100644
index 0000000000..314b69797c
--- /dev/null
+++ b/challenge-143/abigail/ruby/ch-1.rb
@@ -0,0 +1,7 @@
+#!/usr/bin/ruby
+
+#
+# Run as: ruby ch-1.rb < input-file
+#
+
+ARGF . each_line do |_| puts (eval _) end
diff --git a/challenge-143/abigail/t/ctest.ini b/challenge-143/abigail/t/ctest.ini
new file mode 100644
index 0000000000..575704342b
--- /dev/null
+++ b/challenge-143/abigail/t/ctest.ini
@@ -0,0 +1,8 @@
+#
+# Configuration file for running tests, using ctest.
+# See https://github.com/Abigail/Misc/blob/master/ctest
+#
+
+[names]
+1-1 = Given Examples
+2-1 = Given Examples
diff --git a/challenge-143/abigail/t/input-1-1 b/challenge-143/abigail/t/input-1-1
new file mode 100644
index 0000000000..01dd3f8720
--- /dev/null
+++ b/challenge-143/abigail/t/input-1-1
@@ -0,0 +1,2 @@
+10 + 20 - 5
+(10 + 20 - 5) * 2
diff --git a/challenge-143/abigail/t/input-2-1 b/challenge-143/abigail/t/input-2-1
new file mode 100644
index 0000000000..024f0e0086
--- /dev/null
+++ b/challenge-143/abigail/t/input-2-1
@@ -0,0 +1,3 @@
+36
+12
+6
diff --git a/challenge-143/abigail/t/output-1-1.exp b/challenge-143/abigail/t/output-1-1.exp
new file mode 100644
index 0000000000..e573c227f4
--- /dev/null
+++ b/challenge-143/abigail/t/output-1-1.exp
@@ -0,0 +1,2 @@
+25
+50
diff --git a/challenge-143/abigail/t/output-2-1.exp b/challenge-143/abigail/t/output-2-1.exp
new file mode 100644
index 0000000000..2f1465d159
--- /dev/null
+++ b/