diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-06-22 23:32:59 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-06-22 23:32:59 +0100 |
| commit | ce18c9654686cc128ff02aa4dfd6b30c798d4465 (patch) | |
| tree | a77adeee9753a9ca142e0158ed7145d43c151700 /challenge-065 | |
| parent | 93f8106a4cdba277b54a91d1dedb41c5fff268b1 (diff) | |
| download | perlweeklychallenge-club-ce18c9654686cc128ff02aa4dfd6b30c798d4465.tar.gz perlweeklychallenge-club-ce18c9654686cc128ff02aa4dfd6b30c798d4465.tar.bz2 perlweeklychallenge-club-ce18c9654686cc128ff02aa4dfd6b30c798d4465.zip | |
- Added Challenge 065 solutions by Laurent Rosenfeld.
Diffstat (limited to 'challenge-065')
| -rw-r--r-- | challenge-065/laurent-rosenfeld/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-065/laurent-rosenfeld/perl/ch-1.pl | 13 | ||||
| -rw-r--r-- | challenge-065/laurent-rosenfeld/raku/ch-1.p6 | 10 | ||||
| -rw-r--r-- | challenge-065/laurent-rosenfeld/raku/ch-1a.p6 | 6 |
4 files changed, 30 insertions, 0 deletions
diff --git a/challenge-065/laurent-rosenfeld/blog.txt b/challenge-065/laurent-rosenfeld/blog.txt new file mode 100644 index 0000000000..7f4beb51b2 --- /dev/null +++ b/challenge-065/laurent-rosenfeld/blog.txt @@ -0,0 +1 @@ +http://blogs.perl.org/users/laurent_r/2020/06/perl-weekly-challenge-65-digit-sum.html diff --git a/challenge-065/laurent-rosenfeld/perl/ch-1.pl b/challenge-065/laurent-rosenfeld/perl/ch-1.pl new file mode 100644 index 0000000000..7ee5b9774e --- /dev/null +++ b/challenge-065/laurent-rosenfeld/perl/ch-1.pl @@ -0,0 +1,13 @@ +use strict; +use warnings; +use feature qw /say/; + +sub sum { + my $sum_digits = 0; + $sum_digits += $_ for split //, shift; + return $sum_digits; +} +my ($nb_digits, $sum) = @ARGV; +for my $num (10 ** ($nb_digits - 1) .. 10 ** $nb_digits - 1 ) { + say $num if $sum == sum $num; +} diff --git a/challenge-065/laurent-rosenfeld/raku/ch-1.p6 b/challenge-065/laurent-rosenfeld/raku/ch-1.p6 new file mode 100644 index 0000000000..587cc374ba --- /dev/null +++ b/challenge-065/laurent-rosenfeld/raku/ch-1.p6 @@ -0,0 +1,10 @@ +use v6; + +sub MAIN (Int $nb_digits, Int $sum) { + my $max = -1 + $sum <= 9 + ?? $sum * 10 ** ($nb_digits -1) + !! 10 ** $nb_digits; + for 10 ** ($nb_digits - 1) .. $max -> $num { + say $num if $num.comb.sum == $sum; + } +} diff --git a/challenge-065/laurent-rosenfeld/raku/ch-1a.p6 b/challenge-065/laurent-rosenfeld/raku/ch-1a.p6 new file mode 100644 index 0000000000..91cc27cde4 --- /dev/null +++ b/challenge-065/laurent-rosenfeld/raku/ch-1a.p6 @@ -0,0 +1,6 @@ +use v6; +sub MAIN (Int $nb_digits, Int $sum) { + for 10 ** ($nb_digits - 1) .. 10 ** $nb_digits - 1 -> $num { + say $num if $num.comb.sum == $sum; + } +} |
