aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2024-01-21 23:59:10 +0000
committerGitHub <noreply@github.com>2024-01-21 23:59:10 +0000
commit73ccd05c2dd9d2ae465b61b02782b413013e8c9a (patch)
tree615d8c2106664f1e408765153fa165f79fc80348
parent0feee2b844787a32817fcd47c9ca76804f3069d7 (diff)
parentac752d7d8c06d8b7a5a788936008b7d47b67149e (diff)
downloadperlweeklychallenge-club-73ccd05c2dd9d2ae465b61b02782b413013e8c9a.tar.gz
perlweeklychallenge-club-73ccd05c2dd9d2ae465b61b02782b413013e8c9a.tar.bz2
perlweeklychallenge-club-73ccd05c2dd9d2ae465b61b02782b413013e8c9a.zip
Merge pull request #9440 from jaldhar/challenge-252
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