aboutsummaryrefslogtreecommitdiff
path: root/challenge-241
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2023-10-31 16:40:15 +0000
committerGitHub <noreply@github.com>2023-10-31 16:40:15 +0000
commitfd8e62f616dfb207ce9891f448e279b7385ad1a6 (patch)
tree58fd2b452e5e5d84e7092f3fc610c7c9221099d1 /challenge-241
parent0c46668039ce086726d2579730550a66c80548df (diff)
parent78d2196554ebb81ecbcdc2e056e477497675c1ca (diff)
downloadperlweeklychallenge-club-fd8e62f616dfb207ce9891f448e279b7385ad1a6.tar.gz
perlweeklychallenge-club-fd8e62f616dfb207ce9891f448e279b7385ad1a6.tar.bz2
perlweeklychallenge-club-fd8e62f616dfb207ce9891f448e279b7385ad1a6.zip
Merge pull request #8973 from wlmb/challenges
Solve PWC241
Diffstat (limited to 'challenge-241')
-rw-r--r--challenge-241/wlmb/blog.txt1
-rwxr-xr-xchallenge-241/wlmb/perl/ch-1.pl17
-rwxr-xr-xchallenge-241/wlmb/perl/ch-2.pl12
3 files changed, 30 insertions, 0 deletions
diff --git a/challenge-241/wlmb/blog.txt b/challenge-241/wlmb/blog.txt
new file mode 100644
index 0000000000..82867ba55b
--- /dev/null
+++ b/challenge-241/wlmb/blog.txt
@@ -0,0 +1 @@
+https://wlmb.github.io/2023/10/30/PWC241/
diff --git a/challenge-241/wlmb/perl/ch-1.pl b/challenge-241/wlmb/perl/ch-1.pl
new file mode 100755
index 0000000000..1dd1be854b
--- /dev/null
+++ b/challenge-241/wlmb/perl/ch-1.pl
@@ -0,0 +1,17 @@
+#!/usr/bin/env perl
+# Perl weekly challenge 241
+# Task 1: Arithmetic Triplets
+#
+# See https://wlmb.github.io/2023/10/30/PWC241/#task-1-arithmetic-triplets
+use v5.36;
+use List::Util qw(all);
+use Algorithm::Combinatorics qw(combinations);
+die <<~"FIN" if @ARGV<2;
+ Usage: $0 D N0 [N1...]
+ to count the triplets taken from N0 N1... with difference D between succesive terms;
+ FIN
+my $diff=shift;
+my @sorted=sort {$a <=> $b} @ARGV;
+die "Array should be ordered" unless all {$sorted[$_]==$ARGV[$_]} 0..@ARGV-1;
+say "Nums: @sorted, diff: $diff -> ",
+ 0+grep{$_->[1]-$_->[0]==$_->[2]-$_->[1]==$diff} combinations([@sorted],3)
diff --git a/challenge-241/wlmb/perl/ch-2.pl b/challenge-241/wlmb/perl/ch-2.pl
new file mode 100755
index 0000000000..daa9d93bfd
--- /dev/null
+++ b/challenge-241/wlmb/perl/ch-2.pl
@@ -0,0 +1,12 @@
+#!/usr/bin/env perl
+# Perl weekly challenge 241
+# Task 2: Prime Order
+#
+# See https://wlmb.github.io/2023/10/30/PWC241/#task-2-prime-order
+use v5.36;
+use Math::Prime::Util qw(factor);
+die <<~"FIN" unless @ARGV;
+ Usage: $0 N0 [N1...]
+ to order the numbers N0 N1 according to the number of factors and their value.
+ FIN
+say join " ", @ARGV, "->", sort{factor($a)<=>factor($b) || $a <=> $b} @ARGV