aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2023-01-29 10:35:57 +0000
committerGitHub <noreply@github.com>2023-01-29 10:35:57 +0000
commitaca83f10ced4842d125a0e426a24fbc9a8b958fc (patch)
treef118676f32d7c745d17ea2f9c1d4a8783adddb29
parent5cfdb5571b9fd0432797bb8483799de7fbb0d827 (diff)
parent3aee3b3dfd19d9012a3b009545b60b6bb0c5565d (diff)
downloadperlweeklychallenge-club-aca83f10ced4842d125a0e426a24fbc9a8b958fc.tar.gz
perlweeklychallenge-club-aca83f10ced4842d125a0e426a24fbc9a8b958fc.tar.bz2
perlweeklychallenge-club-aca83f10ced4842d125a0e426a24fbc9a8b958fc.zip
Merge pull request #7460 from fluca1978/PWC201
Pwc201
-rw-r--r--challenge-201/luca-ferrari/blog-1.txt1
-rw-r--r--challenge-201/luca-ferrari/blog-2.txt1
-rw-r--r--challenge-201/luca-ferrari/blog-3.txt1
-rw-r--r--challenge-201/luca-ferrari/blog-4.txt1
-rw-r--r--challenge-201/luca-ferrari/blog-5.txt1
-rw-r--r--challenge-201/luca-ferrari/blog-6.txt1
-rw-r--r--challenge-201/luca-ferrari/postgresql/ch-1.plperl21
-rw-r--r--challenge-201/luca-ferrari/postgresql/ch-1.sql19
-rw-r--r--challenge-201/luca-ferrari/postgresql/ch-2.plperl20
-rw-r--r--challenge-201/luca-ferrari/postgresql/ch-2.sql16
-rw-r--r--challenge-201/luca-ferrari/raku/ch-1.p618
-rw-r--r--challenge-201/luca-ferrari/raku/ch-2.p614
12 files changed, 114 insertions, 0 deletions
diff --git a/challenge-201/luca-ferrari/blog-1.txt b/challenge-201/luca-ferrari/blog-1.txt
new file mode 100644
index 0000000000..8194ccff39
--- /dev/null
+++ b/challenge-201/luca-ferrari/blog-1.txt
@@ -0,0 +1 @@
+https://fluca1978.github.io/2023/01/23/PerlWeeklyChallenge201.html#task1
diff --git a/challenge-201/luca-ferrari/blog-2.txt b/challenge-201/luca-ferrari/blog-2.txt
new file mode 100644
index 0000000000..d27370c7ac
--- /dev/null
+++ b/challenge-201/luca-ferrari/blog-2.txt
@@ -0,0 +1 @@
+https://fluca1978.github.io/2023/01/23/PerlWeeklyChallenge201.html#task2
diff --git a/challenge-201/luca-ferrari/blog-3.txt b/challenge-201/luca-ferrari/blog-3.txt
new file mode 100644
index 0000000000..712de62e43
--- /dev/null
+++ b/challenge-201/luca-ferrari/blog-3.txt
@@ -0,0 +1 @@
+https://fluca1978.github.io/2023/01/23/PerlWeeklyChallenge201.html#task1plperl
diff --git a/challenge-201/luca-ferrari/blog-4.txt b/challenge-201/luca-ferrari/blog-4.txt
new file mode 100644
index 0000000000..2175d4ccb3
--- /dev/null
+++ b/challenge-201/luca-ferrari/blog-4.txt
@@ -0,0 +1 @@
+https://fluca1978.github.io/2023/01/23/PerlWeeklyChallenge201.html#task2plperl
diff --git a/challenge-201/luca-ferrari/blog-5.txt b/challenge-201/luca-ferrari/blog-5.txt
new file mode 100644
index 0000000000..6f2d6d3f1b
--- /dev/null
+++ b/challenge-201/luca-ferrari/blog-5.txt
@@ -0,0 +1 @@
+https://fluca1978.github.io/2023/01/23/PerlWeeklyChallenge201.html#task1plpgsql
diff --git a/challenge-201/luca-ferrari/blog-6.txt b/challenge-201/luca-ferrari/blog-6.txt
new file mode 100644
index 0000000000..c8eeb6cc57
--- /dev/null
+++ b/challenge-201/luca-ferrari/blog-6.txt
@@ -0,0 +1 @@
+https://fluca1978.github.io/2023/01/23/PerlWeeklyChallenge201.html#task2plpgsql
diff --git a/challenge-201/luca-ferrari/postgresql/ch-1.plperl b/challenge-201/luca-ferrari/postgresql/ch-1.plperl
new file mode 100644
index 0000000000..747396c908
--- /dev/null
+++ b/challenge-201/luca-ferrari/postgresql/ch-1.plperl
@@ -0,0 +1,21 @@
+--
+-- Perl Weekly Challenge 201
+-- Task 1
+-- See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-201/>
+--
+
+CREATE SCHEMA IF NOT EXISTS pwc201;
+
+CREATE OR REPLACE FUNCTION
+pwc201.task1_plperl( int[] )
+RETURNS SETOF int
+AS $CODE$
+ my ( $n ) = @_;
+
+ for my $needle ( 1 .. $n->@* ) {
+ return_next( $needle ) if ( ! grep( { $_ == $needle } $n->@* ) );
+ }
+
+return;
+$CODE$
+LANGUAGE plperl;
diff --git a/challenge-201/luca-ferrari/postgresql/ch-1.sql b/challenge-201/luca-ferrari/postgresql/ch-1.sql
new file mode 100644
index 0000000000..17597a8b88
--- /dev/null
+++ b/challenge-201/luca-ferrari/postgresql/ch-1.sql
@@ -0,0 +1,19 @@
+--
+-- Perl Weekly Challenge 201
+-- Task 1
+--
+-- See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-201/>
+--
+
+CREATE SCHEMA IF NOT EXISTS pwc201;
+
+CREATE OR REPLACE FUNCTION
+pwc201.task1_plpgsql( n int[] )
+RETURNS SETOF int
+AS $CODE$
+ SELECT v
+ FROM generate_series( 1, array_length( n, 1 ) ) v
+ WHERE v NOT IN
+ ( SELECT unnest( n ) );
+$CODE$
+LANGUAGE sql;
diff --git a/challenge-201/luca-ferrari/postgresql/ch-2.plperl b/challenge-201/luca-ferrari/postgresql/ch-2.plperl
new file mode 100644
index 0000000000..68cfb36d32
--- /dev/null
+++ b/challenge-201/luca-ferrari/postgresql/ch-2.plperl
@@ -0,0 +1,20 @@
+--
+-- Perl Weekly Challenge 201
+-- Task 2
+-- See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-201/>
+--
+
+CREATE SCHEMA IF NOT EXISTS pwc201;
+
+CREATE OR REPLACE FUNCTION
+pwc201.task2_plperl( int)
+RETURNS int
+AS $CODE$
+
+ use Integer::Partition;
+ my $partitions = Integer::Partition->new( $_[0] );
+ my $count = 0;
+ $count++ while( $partitions->next );
+ return $count;
+$CODE$
+LANGUAGE plperlu;
diff --git a/challenge-201/luca-ferrari/postgresql/ch-2.sql b/challenge-201/luca-ferrari/postgresql/ch-2.sql
new file mode 100644
index 0000000000..9e2afdb404
--- /dev/null
+++ b/challenge-201/luca-ferrari/postgresql/ch-2.sql
@@ -0,0 +1,16 @@
+--
+-- Perl Weekly Challenge 201
+-- Task 2
+--
+-- See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-201/>
+--
+
+CREATE SCHEMA IF NOT EXISTS pwc201;
+
+CREATE OR REPLACE FUNCTION
+pwc201.task2_plpgsql( n int )
+RETURNS int
+AS $CODE$
+ SELECT pwc201.task2_plperl( n );
+$CODE$
+LANGUAGE sql;
diff --git a/challenge-201/luca-ferrari/raku/ch-1.p6 b/challenge-201/luca-ferrari/raku/ch-1.p6
new file mode 100644
index 0000000000..a83e9d6d22
--- /dev/null
+++ b/challenge-201/luca-ferrari/raku/ch-1.p6
@@ -0,0 +1,18 @@
+#!raku
+
+#
+# Perl Weekly Challenge 201
+# Task 1
+#
+# See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-201/>
+#
+
+sub MAIN( *@n where { @n.grep( * ~~ Int ) == @n.elems } ) {
+ my @missing-numbers;
+ for 0 ^.. @n.elems {
+ @missing-numbers.push: $_ if ( ! @n.grep( $_ ) );
+ }
+
+ @missing-numbers.join( ', ' ).say;
+
+}
diff --git a/challenge-201/luca-ferrari/raku/ch-2.p6 b/challenge-201/luca-ferrari/raku/ch-2.p6
new file mode 100644
index 0000000000..9ab1bd4e12
--- /dev/null
+++ b/challenge-201/luca-ferrari/raku/ch-2.p6
@@ -0,0 +1,14 @@
+#!raku
+
+#
+# Perl Weekly Challenge 201
+# Task 2
+#
+# See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-201/>
+#
+
+use Math::Combinatorics <partitions>;
+
+sub MAIN( Int $n where { $n > 0 } ) {
+ say partitions( $n ).elems;
+}