diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-11-19 18:44:08 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-11-19 18:44:08 +0000 |
| commit | 13a4a5897e0725cc5512ea1c762809bc37b3bc03 (patch) | |
| tree | af5eaea6f8f3328e72ef68b2e0eec770c28fcbb6 | |
| parent | 4f9b9181753d05769b5964ebf291f8d345221451 (diff) | |
| parent | b852eaaa8f84d9e898150012300cdda03d680c36 (diff) | |
| download | perlweeklychallenge-club-13a4a5897e0725cc5512ea1c762809bc37b3bc03.tar.gz perlweeklychallenge-club-13a4a5897e0725cc5512ea1c762809bc37b3bc03.tar.bz2 perlweeklychallenge-club-13a4a5897e0725cc5512ea1c762809bc37b3bc03.zip | |
Merge pull request #5249 from polettix/polettix/pwc139
Add polettix's solution to challenge-139
| -rw-r--r-- | challenge-139/polettix/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-139/polettix/blog1.txt | 1 | ||||
| -rw-r--r-- | challenge-139/polettix/perl/ch-1.pl | 10 | ||||
| -rw-r--r-- | challenge-139/polettix/perl/ch-2.pl | 25 | ||||
| -rw-r--r-- | challenge-139/polettix/raku/ch-1.raku | 4 | ||||
| -rw-r--r-- | challenge-139/polettix/raku/ch-2.raku | 19 |
6 files changed, 60 insertions, 0 deletions
diff --git a/challenge-139/polettix/blog.txt b/challenge-139/polettix/blog.txt new file mode 100644 index 0000000000..f5118de7fb --- /dev/null +++ b/challenge-139/polettix/blog.txt @@ -0,0 +1 @@ +https://github.polettix.it/ETOOBUSY/2021/11/17/jortsort/ diff --git a/challenge-139/polettix/blog1.txt b/challenge-139/polettix/blog1.txt new file mode 100644 index 0000000000..57fd0fb0c8 --- /dev/null +++ b/challenge-139/polettix/blog1.txt @@ -0,0 +1 @@ +https://github.polettix.it/ETOOBUSY/2021/11/18/long-primes/ diff --git a/challenge-139/polettix/perl/ch-1.pl b/challenge-139/polettix/perl/ch-1.pl new file mode 100644 index 0000000000..2079bcb96c --- /dev/null +++ b/challenge-139/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'; +say jort_sort(@ARGV) ? 1 : 0; +sub jort_sort (@args) { + for (sort @args) { return 0 unless $_ == shift @args } + return 1 +} diff --git a/challenge-139/polettix/perl/ch-2.pl b/challenge-139/polettix/perl/ch-2.pl new file mode 100644 index 0000000000..2cfbb957e4 --- /dev/null +++ b/challenge-139/polettix/perl/ch-2.pl @@ -0,0 +1,25 @@ +#!/usr/bin/env perl +use v5.24; +use warnings; +use experimental 'signatures'; +no warnings 'experimental::signatures'; +my $N = shift || 5; +my $p = 2; +while ($N > 0) { + if (is_long_prime($p)) { + say $p; + --$N; + } + $p++; +} +sub is_prime ($n) { + for (2 .. sqrt $n) { return unless $n % $_ } + return 1; +} +sub is_long_prime ($n) { + return unless (10 % $n) && is_prime($n); + my $num = 1 . '0' x length($n); + my %seen; + $num = 10 * ($num % $n) while ! $seen{$num}++; + return $n - 1 == scalar keys %seen; +} diff --git a/challenge-139/polettix/raku/ch-1.raku b/challenge-139/polettix/raku/ch-1.raku new file mode 100644 index 0000000000..843a5bd392 --- /dev/null +++ b/challenge-139/polettix/raku/ch-1.raku @@ -0,0 +1,4 @@ +#!/usr/bin/env raku +use v6; +sub MAIN (*@args) { say jort-sort(@args) ?? 1 !! 0 } +sub jort-sort (@args) { @args.sort ~~ @args } diff --git a/challenge-139/polettix/raku/ch-2.raku b/challenge-139/polettix/raku/ch-2.raku new file mode 100644 index 0000000000..92283b00dd --- /dev/null +++ b/challenge-139/polettix/raku/ch-2.raku @@ -0,0 +1,19 @@ +#!/usr/bin/env raku +use v6; +sub MAIN (Int $N is copy = 5) { + my $p = 2; + while ($N > 0) { + if (is-long-prime($p)) { + $p.put; + --$N; + } + $p++; + } +} +sub is-long-prime (Int:D $n where * > 0) { + return False unless (10 % $n) && $n.is-prime; + my $num = 1 ~ 0 x $n.chars; + my %seen; + $num = 10 * ($num % $n) while ! %seen{$num}++; + return $n - 1 == %seen.elems; +} |
