aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuis Mochan <mochan@fis.unam.mx>2024-03-24 23:56:49 -0600
committerLuis Mochan <mochan@fis.unam.mx>2024-03-24 23:56:49 -0600
commitb000b46dddcc84809f0d29d4a26c8ee420351cdc (patch)
treef44367dcdc4cc6f3cd31293956e8175d8c4832f2
parent041fe9129e3ef4d86df461a0feeee1b3740d5758 (diff)
downloadperlweeklychallenge-club-b000b46dddcc84809f0d29d4a26c8ee420351cdc.tar.gz
perlweeklychallenge-club-b000b46dddcc84809f0d29d4a26c8ee420351cdc.tar.bz2
perlweeklychallenge-club-b000b46dddcc84809f0d29d4a26c8ee420351cdc.zip
Solve PWC262
-rw-r--r--challenge-262/wlmb/blog.txt1
-rwxr-xr-xchallenge-262/wlmb/perl/ch-1.pl14
-rwxr-xr-xchallenge-262/wlmb/perl/ch-2.pl18
3 files changed, 33 insertions, 0 deletions
diff --git a/challenge-262/wlmb/blog.txt b/challenge-262/wlmb/blog.txt
new file mode 100644
index 0000000000..caf5ca115d
--- /dev/null
+++ b/challenge-262/wlmb/blog.txt
@@ -0,0 +1 @@
+https://wlmb.github.io/2024/03/24/PWC262/
diff --git a/challenge-262/wlmb/perl/ch-1.pl b/challenge-262/wlmb/perl/ch-1.pl
new file mode 100755
index 0000000000..3f59a91187
--- /dev/null
+++ b/challenge-262/wlmb/perl/ch-1.pl
@@ -0,0 +1,14 @@
+#!/usr/bin/env perl
+# Perl weekly challenge 262
+# Task 1: Max Positive Negative
+#
+# See https://wlmb.github.io/2024/03/24/PWC262/#task-1-max-positive-negative
+use v5.36;
+use List::Util qw(max);
+die <<~"FIN" unless @ARGV;
+ Usage: $0 N1 [N2...]
+ to find the maximum number of equally signed numbers N_i
+ FIN
+my @count=(0,0);
+$count[$_>=0//0]++ for @ARGV;
+say "@ARGV -> ", max @count;
diff --git a/challenge-262/wlmb/perl/ch-2.pl b/challenge-262/wlmb/perl/ch-2.pl
new file mode 100755
index 0000000000..90edbfe082
--- /dev/null
+++ b/challenge-262/wlmb/perl/ch-2.pl
@@ -0,0 +1,18 @@
+#!/usr/bin/env perl
+# Perl weekly challenge 262
+# Task 2: Count Equal Divisible
+#
+# See https://wlmb.github.io/2024/03/24/PWC262/#task-2-count-equal-divisible
+use v5.36;
+die <<~"FIN" unless @ARGV>=2;
+ Usage: $0 K N1 [N2...]
+ to count pairs N_i==N_j where K divides i*j
+ FIN
+my ($k,@ints)=@ARGV;
+my $count=0;
+for my $i(0..@ints-2){
+ for ($i+1..@ints-1){
+ ++$count if $ints[$i]==$ints[$_] && ($i*$_)%$k==0;
+ }
+}
+say "k=$k, ints=@ints -> $count";