aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-11-19 18:44:08 +0000
committerGitHub <noreply@github.com>2021-11-19 18:44:08 +0000
commit13a4a5897e0725cc5512ea1c762809bc37b3bc03 (patch)
treeaf5eaea6f8f3328e72ef68b2e0eec770c28fcbb6
parent4f9b9181753d05769b5964ebf291f8d345221451 (diff)
parentb852eaaa8f84d9e898150012300cdda03d680c36 (diff)
downloadperlweeklychallenge-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.txt1
-rw-r--r--challenge-139/polettix/blog1.txt1
-rw-r--r--challenge-139/polettix/perl/ch-1.pl10
-rw-r--r--challenge-139/polettix/perl/ch-2.pl25
-rw-r--r--challenge-139/polettix/raku/ch-1.raku4
-rw-r--r--challenge-139/polettix/raku/ch-2.raku19
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;
+}