diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-02-04 11:21:52 +0000 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-02-04 11:21:52 +0000 |
| commit | 28eeb5a68ef7d6db83d218dba809944e4135b025 (patch) | |
| tree | 2bfd2411ad87b718dc556b55b2e128628fd16008 /challenge-150 | |
| parent | 29588241496bdc8459bbad3329d129195807db37 (diff) | |
| download | perlweeklychallenge-club-28eeb5a68ef7d6db83d218dba809944e4135b025.tar.gz perlweeklychallenge-club-28eeb5a68ef7d6db83d218dba809944e4135b025.tar.bz2 perlweeklychallenge-club-28eeb5a68ef7d6db83d218dba809944e4135b025.zip | |
- Added solutions by Laurent Rosenfeld.
Diffstat (limited to 'challenge-150')
| -rw-r--r-- | challenge-150/laurent-rosenfeld/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-150/laurent-rosenfeld/perl/ch-1.pl | 15 | ||||
| -rw-r--r-- | challenge-150/laurent-rosenfeld/perl/ch-2.pl | 14 | ||||
| -rw-r--r-- | challenge-150/laurent-rosenfeld/raku/ch-1.raku | 8 | ||||
| -rw-r--r-- | challenge-150/laurent-rosenfeld/raku/ch-2.raku | 10 |
5 files changed, 48 insertions, 0 deletions
diff --git a/challenge-150/laurent-rosenfeld/blog.txt b/challenge-150/laurent-rosenfeld/blog.txt new file mode 100644 index 0000000000..fc8a3ad692 --- /dev/null +++ b/challenge-150/laurent-rosenfeld/blog.txt @@ -0,0 +1 @@ +http://blogs.perl.org/users/laurent_r/2022/02/perl-weekly-challenge-150-fibonacci-words-and-square-free-integers.html diff --git a/challenge-150/laurent-rosenfeld/perl/ch-1.pl b/challenge-150/laurent-rosenfeld/perl/ch-1.pl new file mode 100644 index 0000000000..d81cf08b51 --- /dev/null +++ b/challenge-150/laurent-rosenfeld/perl/ch-1.pl @@ -0,0 +1,15 @@ +use strict; +use warnings; +use feature "say"; + +sub fibonacci { + my ($a, $b) = @_; + my @fib = $a < $b ? ($a, $b) : ($b, $a); + for my $i (1..20) { + push @fib, $fib[-2] . $fib[-1]; + next if length $fib[-1] < 51; + say $fib[-1]; + return $fib[-1]; + } +} +say substr fibonacci(1234, 5678), 50, 1; diff --git a/challenge-150/laurent-rosenfeld/perl/ch-2.pl b/challenge-150/laurent-rosenfeld/perl/ch-2.pl new file mode 100644 index 0000000000..7fd51a7d1e --- /dev/null +++ b/challenge-150/laurent-rosenfeld/perl/ch-2.pl @@ -0,0 +1,14 @@ +use strict; +use warnings; +use feature "say"; + +my @squares = map { $_ * $_ } 2, 3, 5, 7, 11, 13; +# say "@squares"; # 4 9 25 49 121 169 - squares of prime integers +NEXT_I: for my $i (1..500) { + for my $j (@squares) { + next NEXT_I if $i % $j == 0; + last if $j > $i; + } + print "$i "; +} +say " "; diff --git a/challenge-150/laurent-rosenfeld/raku/ch-1.raku b/challenge-150/laurent-rosenfeld/raku/ch-1.raku new file mode 100644 index 0000000000..14e4548645 --- /dev/null +++ b/challenge-150/laurent-rosenfeld/raku/ch-1.raku @@ -0,0 +1,8 @@ +use v6; + +sub fibonacci (Int $a, Int $b where $a.chars == $b.chars) { + my ($c, $d) = $a < $b ?? ($a, $b) !! ($b, $a); + my @fib = $c, $d, * ~ * ... *.chars >= 51; + # say @fib; +} +say (fibonacci 1234, 5678)[*-1].comb[50]; diff --git a/challenge-150/laurent-rosenfeld/raku/ch-2.raku b/challenge-150/laurent-rosenfeld/raku/ch-2.raku new file mode 100644 index 0000000000..a141aba1a5 --- /dev/null +++ b/challenge-150/laurent-rosenfeld/raku/ch-2.raku @@ -0,0 +1,10 @@ +my @squares = map { $_² }, grep {.is-prime}, 2..250.sqrt.Int; +# say @squares; # [4 9 25 49 121 169] squares of prime integers +NEXT_I: for 1..500 -> $i { + for @squares -> $j { + next NEXT_I if $i %% $j; + last if $j > $i; + } + print "$i "; +} +say "\nDuration: ", now - INIT now; |
