aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2022-05-07 00:29:12 +0100
committerGitHub <noreply@github.com>2022-05-07 00:29:12 +0100
commitb1c4cdc3c7653db35638ff2682a154acd87d83b7 (patch)
tree1884b3ff154393f6ec36b754634133a1209b37f2
parent2d377c4939c92c5b00eeabc66237acd481b8a3f5 (diff)
parentd75318e1d258e1b3ed411ff4aa5e9ace212b2b21 (diff)
downloadperlweeklychallenge-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/README1
-rw-r--r--challenge-163/luiz-felipe/perl/ch-1.pl31
-rw-r--r--challenge-163/luiz-felipe/perl/ch-2.pl31
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];
+}