From ac752d7d8c06d8b7a5a788936008b7d47b67149e Mon Sep 17 00:00:00 2001 From: "Jaldhar H. Vyas" Date: Sun, 21 Jan 2024 18:39:46 -0500 Subject: Challenge 252 by Jaldhar H. Vyas. --- challenge-252/jaldhar-h-vyas/blog.txt | 1 + challenge-252/jaldhar-h-vyas/perl/ch-1.pl | 20 ++++++++++++++++++++ challenge-252/jaldhar-h-vyas/perl/ch-2.pl | 12 ++++++++++++ challenge-252/jaldhar-h-vyas/raku/ch-1.raku | 11 +++++++++++ challenge-252/jaldhar-h-vyas/raku/ch-2.raku | 13 +++++++++++++ 5 files changed, 57 insertions(+) create mode 100644 challenge-252/jaldhar-h-vyas/blog.txt create mode 100755 challenge-252/jaldhar-h-vyas/perl/ch-1.pl create mode 100755 challenge-252/jaldhar-h-vyas/perl/ch-2.pl create mode 100755 challenge-252/jaldhar-h-vyas/raku/ch-1.raku create mode 100755 challenge-252/jaldhar-h-vyas/raku/ch-2.raku 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 -- cgit