diff options
| author | Kian-Meng, Ang <kianmeng@cpan.org> | 2019-05-12 22:17:00 +0800 |
|---|---|---|
| committer | Kian-Meng, Ang <kianmeng@cpan.org> | 2019-05-12 22:17:00 +0800 |
| commit | a2a77eb974e9882d48876289e771a093cf09b6f8 (patch) | |
| tree | 5f9a89f5c799c55f28b08884c11a6079b42e2b71 /challenge-007 | |
| parent | 93c228ce3fc3bac8271cf353eec9e1e988cce4f5 (diff) | |
| download | perlweeklychallenge-club-a2a77eb974e9882d48876289e771a093cf09b6f8.tar.gz perlweeklychallenge-club-a2a77eb974e9882d48876289e771a093cf09b6f8.tar.bz2 perlweeklychallenge-club-a2a77eb974e9882d48876289e771a093cf09b6f8.zip | |
Challenge #007 C1 answer and challenge #006 blog link
Diffstat (limited to 'challenge-007')
| -rw-r--r-- | challenge-007/kian-meng-ang/perl5/ch-1.pl | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/challenge-007/kian-meng-ang/perl5/ch-1.pl b/challenge-007/kian-meng-ang/perl5/ch-1.pl new file mode 100644 index 0000000000..49dd189d1d --- /dev/null +++ b/challenge-007/kian-meng-ang/perl5/ch-1.pl @@ -0,0 +1,34 @@ +#!/usr/bin/env perl + +use 5.010; +use strict; +use warnings; +use utf8; + +sub generate_niven_sequence { + my %args = @_; + + $args{from} //= 0; + $args{to} //= 50; + + my @niven_numbers; + foreach my $number ($args{from}..$args{to}) { + next if ($number == 0); + + my $sum_of_its_digits = 0; + $sum_of_its_digits += $_ foreach split //, $number; + push @niven_numbers, $number if ($number % $sum_of_its_digits == 0); + } + + return \@niven_numbers; +} + +say join q/|/, @{generate_niven_sequence(from => 0, to =>50)}; + +1; + +__END__ +$ perl ch1-1.pl +1|2|3|4|5|6|7|8|9|10|12|18|20|21|24|27|30|36|40|42|45|48|50 +# vi:et:sw=4 ts=4 ft=perl + |
