diff options
Diffstat (limited to 'challenge-003')
| -rw-r--r-- | challenge-003/laurent-rosenfeld/perl5/ch-1.pl | 13 | ||||
| -rw-r--r-- | challenge-003/laurent-rosenfeld/perl5/ch-2.pl | 13 | ||||
| -rw-r--r-- | challenge-003/laurent-rosenfeld/perl6/ch-1.p6 | 14 | ||||
| -rw-r--r-- | challenge-003/laurent-rosenfeld/perl6/ch-2.p6 | 10 |
4 files changed, 50 insertions, 0 deletions
diff --git a/challenge-003/laurent-rosenfeld/perl5/ch-1.pl b/challenge-003/laurent-rosenfeld/perl5/ch-1.pl new file mode 100644 index 0000000000..570dd3032d --- /dev/null +++ b/challenge-003/laurent-rosenfeld/perl5/ch-1.pl @@ -0,0 +1,13 @@ +use strict; +use warnings; +use constant limit => 100; +my @raw_hamming; +for my $pow2 (0..6) { + for my $pow3 (0..4) { + for my $pow5 (0..2) { + push @raw_hamming, 2 ** $pow2 * 3 ** $pow3 * 5 ** $pow5; + } + } +} +my @hamming_sequence = sort { $a <=> $b } grep $_ <= limit, @raw_hamming; +print "@hamming_sequence \n"; diff --git a/challenge-003/laurent-rosenfeld/perl5/ch-2.pl b/challenge-003/laurent-rosenfeld/perl5/ch-2.pl new file mode 100644 index 0000000000..d94506f913 --- /dev/null +++ b/challenge-003/laurent-rosenfeld/perl5/ch-2.pl @@ -0,0 +1,13 @@ +use strict; +use warnings; +use feature "say"; +my $nb_rows = shift; +my @row = (1); +for (1 .. $nb_rows) { + say "@row"; + my @temp = (0, @row, 0); + @row = (); + for my $index (0 .. $#temp -1) { + push @row, $temp[$index] + $temp[$index + 1]; + } +} diff --git a/challenge-003/laurent-rosenfeld/perl6/ch-1.p6 b/challenge-003/laurent-rosenfeld/perl6/ch-1.p6 new file mode 100644 index 0000000000..b9dd2040e2 --- /dev/null +++ b/challenge-003/laurent-rosenfeld/perl6/ch-1.p6 @@ -0,0 +1,14 @@ +my @prime_numbers = grep {.is-prime}, 5^..Inf; # we need only primes strictly larger than 5 +my @regulars; +for (1 .. 100) -> $num { + my $is_regular = True; + for @prime_numbers -> $prime { + last if $prime > $num; + if ( $num %% $prime ) { + $is_regular = False; + last; + } + } + push @regulars, $num if $is_regular; +} +say @regulars; diff --git a/challenge-003/laurent-rosenfeld/perl6/ch-2.p6 b/challenge-003/laurent-rosenfeld/perl6/ch-2.p6 new file mode 100644 index 0000000000..d63f721d25 --- /dev/null +++ b/challenge-003/laurent-rosenfeld/perl6/ch-2.p6 @@ -0,0 +1,10 @@ +sub pascal ($nb-rows) { + my @line = 1,; + for 1 .. $nb-rows -> $row { + @line.join(" ").say; + @line = flat 1, (map {@line[$_] + @line[$_ + 1]}, 0 .. $row - 2), 1; + } +} +sub MAIN (Int $rows where * > 0) { + pascal $rows +} |
