aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuis Mochan <mochan@fis.unam.mx>2024-01-15 10:24:58 -0600
committerLuis Mochan <mochan@fis.unam.mx>2024-01-15 10:24:58 -0600
commit76a57e5d996ef75edcaa011991818b5d2665e506 (patch)
tree7b7300d4d4335088564f41015dfeb71be0ac256b
parent7efb373bb9adffa79f84825217015835805298b5 (diff)
downloadperlweeklychallenge-club-76a57e5d996ef75edcaa011991818b5d2665e506.tar.gz
perlweeklychallenge-club-76a57e5d996ef75edcaa011991818b5d2665e506.tar.bz2
perlweeklychallenge-club-76a57e5d996ef75edcaa011991818b5d2665e506.zip
Solve PWC252
-rw-r--r--challenge-252/wlmb/blog.txt1
-rwxr-xr-xchallenge-252/wlmb/perl/ch-1.pl12
-rwxr-xr-xchallenge-252/wlmb/perl/ch-2.pl14
3 files changed, 27 insertions, 0 deletions
diff --git a/challenge-252/wlmb/blog.txt b/challenge-252/wlmb/blog.txt
new file mode 100644
index 0000000000..2490bf4e93
--- /dev/null
+++ b/challenge-252/wlmb/blog.txt
@@ -0,0 +1 @@
+https://wlmb.github.io/2024/01/15/PWC252/
diff --git a/challenge-252/wlmb/perl/ch-1.pl b/challenge-252/wlmb/perl/ch-1.pl
new file mode 100755
index 0000000000..e42ac0e2ff
--- /dev/null
+++ b/challenge-252/wlmb/perl/ch-1.pl
@@ -0,0 +1,12 @@
+#!/usr/bin/env perl
+# Perl weekly challenge 252
+# Task 1: Special Numbers
+#
+# See https://wlmb.github.io/2024/01/15/PWC252/#task-1-special-numbers
+use v5.36;
+use List::Util qw(sum0);
+die <<~"FIN" unless @ARGV;
+ Usage: $0 N1 [N2...]
+ to sum the squares of the special elements of N1 N2...
+ FIN
+say "@ARGV -> ", sum0 map {$ARGV[$_-1]**2} grep {@ARGV%$_==0} 1..@ARGV;
diff --git a/challenge-252/wlmb/perl/ch-2.pl b/challenge-252/wlmb/perl/ch-2.pl
new file mode 100755
index 0000000000..927509eb6c
--- /dev/null
+++ b/challenge-252/wlmb/perl/ch-2.pl
@@ -0,0 +1,14 @@
+#!/usr/bin/env perl
+# Perl weekly challenge 252
+# Task 2: Unique Sum Zero
+#
+# See https://wlmb.github.io/2024/01/15/PWC252/#task-2-unique-sum-zero
+use v5.36;
+die <<~"FIN" unless @ARGV;
+ Usage: $0 N1 [N2...]
+ to obtain arrays of N_j numbers that add up to zero.
+ FIN
+for(@ARGV){
+ warn("Input must be greater than one"), next unless $_>=1;
+ say "$_ -> [", join(" ", -$_/2..-1, $_%2?(0):(), 1..$_/2), "]";
+}