aboutsummaryrefslogtreecommitdiff
path: root/challenge-065
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2020-06-22 23:32:59 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2020-06-22 23:32:59 +0100
commitce18c9654686cc128ff02aa4dfd6b30c798d4465 (patch)
treea77adeee9753a9ca142e0158ed7145d43c151700 /challenge-065
parent93f8106a4cdba277b54a91d1dedb41c5fff268b1 (diff)
downloadperlweeklychallenge-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.txt1
-rw-r--r--challenge-065/laurent-rosenfeld/perl/ch-1.pl13
-rw-r--r--challenge-065/laurent-rosenfeld/raku/ch-1.p610
-rw-r--r--challenge-065/laurent-rosenfeld/raku/ch-1a.p66
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;
+ }
+}