diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2022-01-18 20:20:18 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-18 20:20:18 +0000 |
| commit | 8c874c8b3d89270d2ba517819160f72e1c03f798 (patch) | |
| tree | 52286063d4c51cda46676323ad6c9db52f16a568 | |
| parent | 54f45ef81ba854637d1a8ca6199f0577e56a0859 (diff) | |
| parent | 78088f1d03f41d0878bde693ca149da783bb0af2 (diff) | |
| download | perlweeklychallenge-club-8c874c8b3d89270d2ba517819160f72e1c03f798.tar.gz perlweeklychallenge-club-8c874c8b3d89270d2ba517819160f72e1c03f798.tar.bz2 perlweeklychallenge-club-8c874c8b3d89270d2ba517819160f72e1c03f798.zip | |
Merge pull request #5541 from polettix/polettix/pwc148
Add polettix's solution to challenge-148
| -rw-r--r-- | challenge-148/polettix/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-148/polettix/blog1.txt | 1 | ||||
| -rwxr-xr-x | challenge-148/polettix/perl/ch-1-alt.pl | 7 | ||||
| -rwxr-xr-x | challenge-148/polettix/perl/ch-1.pl | 10 | ||||
| -rwxr-xr-x | challenge-148/polettix/perl/ch-2.pl | 18 | ||||
| -rw-r--r-- | challenge-148/polettix/perl/cpanfile | 1 | ||||
| -rw-r--r-- | challenge-148/polettix/perl/cpanfile.snapshot | 13 | ||||
| -rwxr-xr-x | challenge-148/polettix/raku/ch-1.raku | 5 | ||||
| -rwxr-xr-x | challenge-148/polettix/raku/ch-2.raku | 15 |
9 files changed, 71 insertions, 0 deletions
diff --git a/challenge-148/polettix/blog.txt b/challenge-148/polettix/blog.txt new file mode 100644 index 0000000000..ffb47d6140 --- /dev/null +++ b/challenge-148/polettix/blog.txt @@ -0,0 +1 @@ +https://github.polettix.it/ETOOBUSY/2022/01/19/pwc148-eban-numbers/ diff --git a/challenge-148/polettix/blog1.txt b/challenge-148/polettix/blog1.txt new file mode 100644 index 0000000000..6129e329c1 --- /dev/null +++ b/challenge-148/polettix/blog1.txt @@ -0,0 +1 @@ +https://github.polettix.it/ETOOBUSY/2022/01/20/pwc148-cardano-triplets/ diff --git a/challenge-148/polettix/perl/ch-1-alt.pl b/challenge-148/polettix/perl/ch-1-alt.pl new file mode 100755 index 0000000000..ff5acd1d38 --- /dev/null +++ b/challenge-148/polettix/perl/ch-1-alt.pl @@ -0,0 +1,7 @@ +#!/usr/bin/env perl +use v5.24; +use warnings; +use experimental 'signatures'; +no warnings 'experimental::signatures'; +sub is_eban ($n) { $n !~ m{ [1789] | (?:2\d\z) | (?:[35](?:\d\d)?\z) }mxs } +is_eban($_) && say for 1 .. shift // 100; diff --git a/challenge-148/polettix/perl/ch-1.pl b/challenge-148/polettix/perl/ch-1.pl new file mode 100755 index 0000000000..5da3c11ca5 --- /dev/null +++ b/challenge-148/polettix/perl/ch-1.pl @@ -0,0 +1,10 @@ +#!/usr/bin/env perl +use v5.24; +use warnings; +use experimental 'signatures'; +no warnings 'experimental::signatures'; +use FindBin '$Bin'; +use lib "$Bin/local/lib/perl5"; +use Lingua::EN::Numbers 'num2en'; +map { say } ebans_upto(shift // 100); +sub ebans_upto ($max) { grep {num2en($_) !~ /e/i } 1 .. $max }; diff --git a/challenge-148/polettix/perl/ch-2.pl b/challenge-148/polettix/perl/ch-2.pl new file mode 100755 index 0000000000..778bc96c24 --- /dev/null +++ b/challenge-148/polettix/perl/ch-2.pl @@ -0,0 +1,18 @@ +#!/usr/bin/env perl +use v5.24; +use warnings; +use experimental 'signatures'; +no warnings 'experimental::signatures'; + +my $n = shift // 5; +for my $b (1 .. $n) { + my $a = 3 * $b - 1; + my $c = 8 * $b - 3; + + my $sqrt = $b * sqrt($c); + my $first = ($a + $sqrt) ** (1/3); + my $second = ($sqrt - $a) ** (1/3); + my $result = $first - $second; + + say "($a, $b, $c) -> $result"; +} diff --git a/challenge-148/polettix/perl/cpanfile b/challenge-148/polettix/perl/cpanfile new file mode 100644 index 0000000000..5df11a75da --- /dev/null +++ b/challenge-148/polettix/perl/cpanfile @@ -0,0 +1 @@ +requires 'Lingua::EN::Numbers'; diff --git a/challenge-148/polettix/perl/cpanfile.snapshot b/challenge-148/polettix/perl/cpanfile.snapshot new file mode 100644 index 0000000000..e73d22a84f --- /dev/null +++ b/challenge-148/polettix/perl/cpanfile.snapshot @@ -0,0 +1,13 @@ +# carton snapshot format: version 1.0 +DISTRIBUTIONS + Lingua-EN-Numbers-2.03 + pathname: N/NE/NEILB/Lingua-EN-Numbers-2.03.tar.gz + provides: + Lingua::EN::Numbers 2.03 + requirements: + Exporter 0 + ExtUtils::MakeMaker 6.3 + perl 5.006 + strict 0 + vars 0 + warnings 0 diff --git a/challenge-148/polettix/raku/ch-1.raku b/challenge-148/polettix/raku/ch-1.raku new file mode 100755 index 0000000000..4681753c1c --- /dev/null +++ b/challenge-148/polettix/raku/ch-1.raku @@ -0,0 +1,5 @@ +#!/usr/bin/env raku +use v6; +use Lingua::EN::Numbers; +sub MAIN (Int:D $max = 100) { ebans-upto($max)ยป.put } +sub ebans-upto (Int:D $max) { (^$max).grep({cardinal($_) !~~ /:i e/}) } diff --git a/challenge-148/polettix/raku/ch-2.raku b/challenge-148/polettix/raku/ch-2.raku new file mode 100755 index 0000000000..d403e93988 --- /dev/null +++ b/challenge-148/polettix/raku/ch-2.raku @@ -0,0 +1,15 @@ +#!/usr/bin/env raku +use v6; +sub MAIN (Int:D $n = 5) { + for 1 .. $n -> $b { + my $a = 3 * $b - 1; + my $c = 8 * $b - 3; + + my $sqrt = $b * $c.sqrt; + my $first = ($a + $sqrt) ** (1 / 3); + my $second = ($sqrt - $a) ** (1 / 3); + my $result = $first - $second; + + "($a, $b, $c) -> $result".put; + } +} |
