diff options
| -rw-r--r-- | challenge-195/carlos-oliveira/README | 1 | ||||
| -rw-r--r-- | challenge-195/carlos-oliveira/perl/ch-1.pl | 11 | ||||
| -rw-r--r-- | challenge-195/carlos-oliveira/perl/ch-2.pl | 30 |
3 files changed, 42 insertions, 0 deletions
diff --git a/challenge-195/carlos-oliveira/README b/challenge-195/carlos-oliveira/README new file mode 100644 index 0000000000..f8182f8301 --- /dev/null +++ b/challenge-195/carlos-oliveira/README @@ -0,0 +1 @@ +Solution by Carlos Eduardo de Oliveira. diff --git a/challenge-195/carlos-oliveira/perl/ch-1.pl b/challenge-195/carlos-oliveira/perl/ch-1.pl new file mode 100644 index 0000000000..eb1c905189 --- /dev/null +++ b/challenge-195/carlos-oliveira/perl/ch-1.pl @@ -0,0 +1,11 @@ +use strict; +use warnings; + +sub specialIntegers { + my ($limit) = @_; + return scalar grep { $_ !~ /(.).*\1/; } 1..$limit; +} + +print specialIntegers(15), "\n"; # Output: 14 +print specialIntegers(35), "\n"; # Output: 32 + diff --git a/challenge-195/carlos-oliveira/perl/ch-2.pl b/challenge-195/carlos-oliveira/perl/ch-2.pl new file mode 100644 index 0000000000..c0a63c7f94 --- /dev/null +++ b/challenge-195/carlos-oliveira/perl/ch-2.pl @@ -0,0 +1,30 @@ +use strict; +use warnings; + +sub mostFrequentEven { + my @numbers = sort @_; + my $currentNumber = $numbers[0]; + my $maxEven = -1; + my $maxCount = 0; + my $currentCount = 0; + for my $elem (@numbers) { + next if $elem % 2; + if ($currentNumber == $elem) { + $currentCount++; + } else { + $currentCount = 1; + $currentNumber = $elem; + } + if ($currentCount > $maxCount) { + $maxEven = $elem; + $maxCount = $currentCount; + } + } + return $maxEven; +} + +print mostFrequentEven(1,1,2,6,2), "\n"; +print mostFrequentEven(1,3,5,7), "\n"; +print mostFrequentEven(6,4,4,6,1), "\n"; +print mostFrequentEven(6,4,4,6,1,8,8,8), "\n"; + |
