diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2022-05-07 00:29:12 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-05-07 00:29:12 +0100 |
| commit | b1c4cdc3c7653db35638ff2682a154acd87d83b7 (patch) | |
| tree | 1884b3ff154393f6ec36b754634133a1209b37f2 | |
| parent | 2d377c4939c92c5b00eeabc66237acd481b8a3f5 (diff) | |
| parent | d75318e1d258e1b3ed411ff4aa5e9ace212b2b21 (diff) | |
| download | perlweeklychallenge-club-b1c4cdc3c7653db35638ff2682a154acd87d83b7.tar.gz perlweeklychallenge-club-b1c4cdc3c7653db35638ff2682a154acd87d83b7.tar.bz2 perlweeklychallenge-club-b1c4cdc3c7653db35638ff2682a154acd87d83b7.zip | |
Merge pull request #6061 from lureevar/challenge-163
Challenge 163 Solutions
| -rw-r--r-- | challenge-163/luiz-felipe/README | 1 | ||||
| -rw-r--r-- | challenge-163/luiz-felipe/perl/ch-1.pl | 31 | ||||
| -rw-r--r-- | challenge-163/luiz-felipe/perl/ch-2.pl | 31 |
3 files changed, 63 insertions, 0 deletions
diff --git a/challenge-163/luiz-felipe/README b/challenge-163/luiz-felipe/README new file mode 100644 index 0000000000..b852de4736 --- /dev/null +++ b/challenge-163/luiz-felipe/README @@ -0,0 +1 @@ +Solution by Luiz Felipe. diff --git a/challenge-163/luiz-felipe/perl/ch-1.pl b/challenge-163/luiz-felipe/perl/ch-1.pl new file mode 100644 index 0000000000..2eb62b2a3b --- /dev/null +++ b/challenge-163/luiz-felipe/perl/ch-1.pl @@ -0,0 +1,31 @@ +#!/usr/bin/env perl +use strict; +use warnings; + +use feature 'say'; + +my (@numbers); + +@numbers = @ARGV or die "you need to pass the numbers to the script"; + +say "the sum of bitwise of these numbers are ", sum_bitwise(@numbers); + +sub sum_bitwise { + my (@numbers, $sum); + + @numbers = @_; + + $sum = 0; + while (scalar @numbers != 0) { + my ($first); + + $first = $numbers[0]; + for my $i (1..$#numbers) { + $sum += $first & $numbers[$i]; + } + + shift @numbers; + } + + return $sum; +} diff --git a/challenge-163/luiz-felipe/perl/ch-2.pl b/challenge-163/luiz-felipe/perl/ch-2.pl new file mode 100644 index 0000000000..be187bbc8e --- /dev/null +++ b/challenge-163/luiz-felipe/perl/ch-2.pl @@ -0,0 +1,31 @@ +#!/usr/bin/env perl +use strict; +use warnings; + +use feature 'say'; + +my (@numbers); + +@numbers = @ARGV or die "you need to pass the numbers to the script"; + +say "The sum of these numbers is ", summations(@numbers); + +sub summations { + my (@numbers, $sum); + + @numbers = @_; + + while (scalar @numbers != 1) { + my (@summations, $sum); + + $sum = 0; + foreach my $i (1..$#numbers) { + $sum += $numbers[$i]; + push @summations, $sum; + } + + @numbers = @summations; + } + + return $numbers[0]; +} |
