diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2023-01-29 10:35:57 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-29 10:35:57 +0000 |
| commit | aca83f10ced4842d125a0e426a24fbc9a8b958fc (patch) | |
| tree | f118676f32d7c745d17ea2f9c1d4a8783adddb29 | |
| parent | 5cfdb5571b9fd0432797bb8483799de7fbb0d827 (diff) | |
| parent | 3aee3b3dfd19d9012a3b009545b60b6bb0c5565d (diff) | |
| download | perlweeklychallenge-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.txt | 1 | ||||
| -rw-r--r-- | challenge-201/luca-ferrari/blog-2.txt | 1 | ||||
| -rw-r--r-- | challenge-201/luca-ferrari/blog-3.txt | 1 | ||||
| -rw-r--r-- | challenge-201/luca-ferrari/blog-4.txt | 1 | ||||
| -rw-r--r-- | challenge-201/luca-ferrari/blog-5.txt | 1 | ||||
| -rw-r--r-- | challenge-201/luca-ferrari/blog-6.txt | 1 | ||||
| -rw-r--r-- | challenge-201/luca-ferrari/postgresql/ch-1.plperl | 21 | ||||
| -rw-r--r-- | challenge-201/luca-ferrari/postgresql/ch-1.sql | 19 | ||||
| -rw-r--r-- | challenge-201/luca-ferrari/postgresql/ch-2.plperl | 20 | ||||
| -rw-r--r-- | challenge-201/luca-ferrari/postgresql/ch-2.sql | 16 | ||||
| -rw-r--r-- | challenge-201/luca-ferrari/raku/ch-1.p6 | 18 | ||||
| -rw-r--r-- | challenge-201/luca-ferrari/raku/ch-2.p6 | 14 |
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; +} |
