diff options
| -rw-r--r-- | challenge-163/luiz-felipe/perl/ch-1.pl | 31 |
1 files changed, 31 insertions, 0 deletions
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; +} |
