diff options
Diffstat (limited to 'challenge-007')
| -rw-r--r-- | challenge-007/alicia-bielsa/perl5/ch-1.pl | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/challenge-007/alicia-bielsa/perl5/ch-1.pl b/challenge-007/alicia-bielsa/perl5/ch-1.pl new file mode 100644 index 0000000000..d715a24f1f --- /dev/null +++ b/challenge-007/alicia-bielsa/perl5/ch-1.pl @@ -0,0 +1,29 @@ +#Print all the niven numbers from 0 to 50 inclusive, each on their own line. +#A niven number is a non-negative number that is divisible by the sum of its digits. +use strict; +use warnings; + +foreach my $i (0..50){ + if (isNiven($i)){ + print "$i\n"; + } +} + + + sub isNiven { + my $number = shift; + + my $sumDigits = 0; + my @aDigits = split('', $number); + foreach my $digit (@aDigits){ + $sumDigits += $digit; + } + if ($sumDigits == 0){ + return 0; + } + + if ($number % $sumDigits == 0){ + return 1; + } + return 0; + }
\ No newline at end of file |
