diff options
| -rw-r--r-- | challenge-170/polettix/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-170/polettix/blog1.txt | 1 | ||||
| -rw-r--r-- | challenge-170/polettix/perl/ch-1.pl | 15 | ||||
| -rw-r--r-- | challenge-170/polettix/perl/ch-2.pl | 12 | ||||
| -rw-r--r-- | challenge-170/polettix/perl/cpanfile | 2 | ||||
| -rw-r--r-- | challenge-170/polettix/perl/cpanfile.snapshot | 47 | ||||
| -rw-r--r-- | challenge-170/polettix/raku/ch-1.raku | 5 | ||||
| -rw-r--r-- | challenge-170/polettix/raku/ch-2.raku | 14 |
8 files changed, 97 insertions, 0 deletions
diff --git a/challenge-170/polettix/blog.txt b/challenge-170/polettix/blog.txt new file mode 100644 index 0000000000..a61ee5d50d --- /dev/null +++ b/challenge-170/polettix/blog.txt @@ -0,0 +1 @@ +https://github.polettix.it/ETOOBUSY/2022/06/22/primorial-numbers/ diff --git a/challenge-170/polettix/blog1.txt b/challenge-170/polettix/blog1.txt new file mode 100644 index 0000000000..66f42053de --- /dev/null +++ b/challenge-170/polettix/blog1.txt @@ -0,0 +1 @@ +https://github.polettix.it/ETOOBUSY/2022/06/23/kronecker-product/ diff --git a/challenge-170/polettix/perl/ch-1.pl b/challenge-170/polettix/perl/ch-1.pl new file mode 100644 index 0000000000..d0a216094e --- /dev/null +++ b/challenge-170/polettix/perl/ch-1.pl @@ -0,0 +1,15 @@ +#!/usr/bin/env perl +use v5.24; +use warnings; +use experimental 'signatures'; +no warnings 'experimental::signatures'; + +use ntheory 'next_prime'; + +my $it = primorial_it(); +say $it->() for 1 .. shift || 10; + +sub primorial_it ($n = 1, $p = 1) { + # sub { (($p, $n) = ($p * $n, next_prime($n)))[0] }; + sub { ($p, $n) = ($p * $n, next_prime($n)); $p }; +} diff --git a/challenge-170/polettix/perl/ch-2.pl b/challenge-170/polettix/perl/ch-2.pl new file mode 100644 index 0000000000..cac2e4ae8c --- /dev/null +++ b/challenge-170/polettix/perl/ch-2.pl @@ -0,0 +1,12 @@ +#!/usr/bin/env perl +use v5.24; +use warnings; +use experimental 'signatures'; +no warnings 'experimental::signatures'; + +use Math::Matrix; + +my $A = Math::Matrix->new([1, 2], [3, 4]); +my $B = Math::Matrix->new([5, 6], [7, 8]); +my $K = $A->kron($B); +$K->print("K\n"); diff --git a/challenge-170/polettix/perl/cpanfile b/challenge-170/polettix/perl/cpanfile new file mode 100644 index 0000000000..839d945912 --- /dev/null +++ b/challenge-170/polettix/perl/cpanfile @@ -0,0 +1,2 @@ +requires 'ntheory'; +requires 'Math::Matrix'; diff --git a/challenge-170/polettix/perl/cpanfile.snapshot b/challenge-170/polettix/perl/cpanfile.snapshot new file mode 100644 index 0000000000..de1b13e9e6 --- /dev/null +++ b/challenge-170/polettix/perl/cpanfile.snapshot @@ -0,0 +1,47 @@ +# carton snapshot format: version 1.0 +DISTRIBUTIONS + Math-Matrix-0.94 + pathname: P/PJ/PJACKLAM/Math-Matrix-0.94.tar.gz + provides: + Math::Matrix 0.94 + requirements: + Carp 0 + ExtUtils::MakeMaker 6.58 + Math::Trig 1.06 + Scalar::Util 1 + Math-Prime-Util-0.73 + pathname: D/DA/DANAJ/Math-Prime-Util-0.73.tar.gz + provides: + Math::Prime::Util 0.73 + Math::Prime::Util::ChaCha 0.73 + Math::Prime::Util::Entropy 0.73 + Math::Prime::Util::MemFree 0.73 + Math::Prime::Util::PP 0.73 + Math::Prime::Util::PrimeArray 0.73 + Math::Prime::Util::PrimeIterator 0.73 + ntheory 0.73 + requirements: + Carp 0 + Config 0 + Exporter 5.57 + ExtUtils::MakeMaker 0 + Math::BigFloat 1.59 + Math::BigInt 1.88 + Math::Prime::Util::GMP 0.50 + Tie::Array 0 + XSLoader 0.01 + base 0 + constant 0 + perl 5.006002 + Math-Prime-Util-GMP-0.52 + pathname: D/DA/DANAJ/Math-Prime-Util-GMP-0.52.tar.gz + provides: + Math::Prime::Util::GMP 0.52 + requirements: + Carp 0 + Exporter 5.57 + ExtUtils::MakeMaker 0 + Fcntl 0 + XSLoader 0.01 + base 0 + perl 5.006002 diff --git a/challenge-170/polettix/raku/ch-1.raku b/challenge-170/polettix/raku/ch-1.raku new file mode 100644 index 0000000000..40fd20e825 --- /dev/null +++ b/challenge-170/polettix/raku/ch-1.raku @@ -0,0 +1,5 @@ +#!/usr/bin/env raku +use v6; +sub MAIN (Int:D $n where * > 0 = 10) { + .put for (1 .. *).grep({$_ == 1 || .is-prime}).produce(&[*]).[^$n]; +} diff --git a/challenge-170/polettix/raku/ch-2.raku b/challenge-170/polettix/raku/ch-2.raku new file mode 100644 index 0000000000..1e7d0c1559 --- /dev/null +++ b/challenge-170/polettix/raku/ch-2.raku @@ -0,0 +1,14 @@ +#!/usr/bin/env raku +use v6; +sub MAIN { + .say for kronecker-product([ <1 2>, <3 4> ], + [ <5 6>, <7 8> ]); +} + +sub kronecker-product (@a, @b) { + (@a X @b).map(->(@A, @B) { @A X* @B }); +} + +sub kronecker_product (@a, @b) { + (@a X @b).map: { .[0].list X* .[1].list }; +} |
