aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaldhar H. Vyas <jaldhar@braincells.com>2024-01-21 18:39:46 -0500
committerJaldhar H. Vyas <jaldhar@braincells.com>2024-01-21 18:39:46 -0500
commitac752d7d8c06d8b7a5a788936008b7d47b67149e (patch)
tree37cf82353e6a9ed25a15afce56bb59944c0c3f49
parent38e81ccbf4601b80bfdfff541404198fd781f874 (diff)
downloadperlweeklychallenge-club-ac752d7d8c06d8b7a5a788936008b7d47b67149e.tar.gz
perlweeklychallenge-club-ac752d7d8c06d8b7a5a788936008b7d47b67149e.tar.bz2
perlweeklychallenge-club-ac752d7d8c06d8b7a5a788936008b7d47b67149e.zip
Challenge 252 by Jaldhar H. Vyas.
-rw-r--r--challenge-252/jaldhar-h-vyas/blog.txt1
-rwxr-xr-xchallenge-252/jaldhar-h-vyas/perl/ch-1.pl20
-rwxr-xr-xchallenge-252/jaldhar-h-vyas/perl/ch-2.pl12
-rwxr-xr-xchallenge-252/jaldhar-h-vyas/raku/ch-1.raku11
-rwxr-xr-xchallenge-252/jaldhar-h-vyas/raku/ch-2.raku13
5 files changed, 57 insertions, 0 deletions
diff --git a/challenge-252/jaldhar-h-vyas/blog.txt b/challenge-252/jaldhar-h-vyas/blog.txt
new file mode 100644
index 0000000000..b828e978e3
--- /dev/null
+++ b/challenge-252/jaldhar-h-vyas/blog.txt
@@ -0,0 +1 @@
+https://www.braincells.com/perl/2024/01/perl_weekly_challenge_week_252.html
diff --git a/challenge-252/jaldhar-h-vyas/perl/ch-1.pl b/challenge-252/jaldhar-h-vyas/perl/ch-1.pl
new file mode 100755
index 0000000000..fdc6994a69
--- /dev/null
+++ b/challenge-252/jaldhar-h-vyas/perl/ch-1.pl
@@ -0,0 +1,20 @@
+#!/usr/bin/perl
+use 5.030;
+use warnings;
+
+sub factors {
+ my ($n) = @_;
+
+ return grep { $n % $_ == 0; } 1 .. $n / 2, $n;
+}
+
+sub sum {
+ my $total;
+ for my $n (@_) {
+ $total += $n;
+ }
+
+ return $total;
+}
+
+say sum(map { $ARGV[$_ - 1] ** 2 } factors(scalar @ARGV)); \ No newline at end of file
diff --git a/challenge-252/jaldhar-h-vyas/perl/ch-2.pl b/challenge-252/jaldhar-h-vyas/perl/ch-2.pl
new file mode 100755
index 0000000000..71d9b1a744
--- /dev/null
+++ b/challenge-252/jaldhar-h-vyas/perl/ch-2.pl
@@ -0,0 +1,12 @@
+#!/usr/bin/perl
+use 5.030;
+use warnings;
+
+my $n = shift;
+my @results = map { $_, -$_ } (1 .. $n / 2);
+
+unless ($n % 2 == 0) {
+ push @results, 0;
+}
+
+say q{(}, (join q{, }, sort @results), q{)};
diff --git a/challenge-252/jaldhar-h-vyas/raku/ch-1.raku b/challenge-252/jaldhar-h-vyas/raku/ch-1.raku
new file mode 100755
index 0000000000..94c8779cbf
--- /dev/null
+++ b/challenge-252/jaldhar-h-vyas/raku/ch-1.raku
@@ -0,0 +1,11 @@
+#!/usr/bin/raku
+
+sub factors(Int $n) {
+ return (| (1 .. $n div 2).grep({ $n %% $_ }), $n);
+}
+
+sub MAIN(
+ *@ints
+) {
+ factors(@ints.elems).map({ @ints[$_ - 1] ** 2 }).sum.say;
+} \ No newline at end of file
diff --git a/challenge-252/jaldhar-h-vyas/raku/ch-2.raku b/challenge-252/jaldhar-h-vyas/raku/ch-2.raku
new file mode 100755
index 0000000000..7df1b79427
--- /dev/null
+++ b/challenge-252/jaldhar-h-vyas/raku/ch-2.raku
@@ -0,0 +1,13 @@
+#!/usr/bin/raku
+
+sub MAIN(
+ Int $n
+) {
+ my @results = (1 .. $n div 2).map({ | ($_, -$_) });
+
+ unless $n %% 2 {
+ @results.push(0);
+ }
+
+ say q{(}, @results.sort.join(q{, }), q{)};
+} \ No newline at end of file