diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2022-07-22 15:19:08 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-22 15:19:08 +0100 |
| commit | 5e68ce7fa6b7f02a5054cb79ed40fc9bdc1488ef (patch) | |
| tree | 626f466ef39e07f8543be8c4f0d341cf92721804 | |
| parent | 5d381eb4573dc8c8ff8b99baedd9d5d581f174a1 (diff) | |
| parent | 8338bbde6d744bbee9cc95b08bfbc371f901d331 (diff) | |
| download | perlweeklychallenge-club-5e68ce7fa6b7f02a5054cb79ed40fc9bdc1488ef.tar.gz perlweeklychallenge-club-5e68ce7fa6b7f02a5054cb79ed40fc9bdc1488ef.tar.bz2 perlweeklychallenge-club-5e68ce7fa6b7f02a5054cb79ed40fc9bdc1488ef.zip | |
Merge pull request #6478 from nicomen/challenge-174
Add task #1 for Weekly challenge #174
| -rw-r--r-- | challenge-174/nicolas-mendoza/README | 2 | ||||
| -rw-r--r-- | challenge-174/nicolas-mendoza/perl/ch-1.pl | 30 |
2 files changed, 32 insertions, 0 deletions
diff --git a/challenge-174/nicolas-mendoza/README b/challenge-174/nicolas-mendoza/README new file mode 100644 index 0000000000..7765fa324c --- /dev/null +++ b/challenge-174/nicolas-mendoza/README @@ -0,0 +1,2 @@ +Solution by Nicolas Mendoza + diff --git a/challenge-174/nicolas-mendoza/perl/ch-1.pl b/challenge-174/nicolas-mendoza/perl/ch-1.pl new file mode 100644 index 0000000000..766752141e --- /dev/null +++ b/challenge-174/nicolas-mendoza/perl/ch-1.pl @@ -0,0 +1,30 @@ +#!/u7sr/bin/env perl + +use v5.34; + +use strict; +use warnings; + +my $limit = 10**10; # Should be within a 10 digit bumber +my @found = (); # store found numbers + +my @too_high_number_prefixes; +for my $number (0..$limit) { # iterate thru all numbers + my $sum = 0; # store a temp sum + my @n = split //, $number; # + for (my $i = @n; $i > 0; $i--) { # iterate thru every digit + my $c = $n[$i-1]; # pick out digit + my $s = $c**$i; + $sum += $s; + if ($sum > $number) { # go to next number if sum has become bigger already + last; + } + } + if ($sum == $number) { # Add to found array if it's a Disarium number + push @found, $sum; + if (@found == 19) { # bail out when we found 19 + say "@found"; + exit; + } + } +} |
