diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2024-01-21 23:59:10 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-21 23:59:10 +0000 |
| commit | 73ccd05c2dd9d2ae465b61b02782b413013e8c9a (patch) | |
| tree | 615d8c2106664f1e408765153fa165f79fc80348 /challenge-252 | |
| parent | 0feee2b844787a32817fcd47c9ca76804f3069d7 (diff) | |
| parent | ac752d7d8c06d8b7a5a788936008b7d47b67149e (diff) | |
| download | perlweeklychallenge-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.
Diffstat (limited to 'challenge-252')
| -rw-r--r-- | challenge-252/jaldhar-h-vyas/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-252/jaldhar-h-vyas/perl/ch-1.pl | 20 | ||||
| -rwxr-xr-x | challenge-252/jaldhar-h-vyas/perl/ch-2.pl | 12 | ||||
| -rwxr-xr-x | challenge-252/jaldhar-h-vyas/raku/ch-1.raku | 11 | ||||
| -rwxr-xr-x | challenge-252/jaldhar-h-vyas/raku/ch-2.raku | 13 |
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 |
