diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2022-11-19 09:10:51 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-11-19 09:10:51 +0000 |
| commit | 6a4b08e11336f22f0881c24e85eed5e4cb0fec07 (patch) | |
| tree | 3f6ec5a11f6840372a54b1e596ec9a19784fb12f | |
| parent | e98bdc7fef8f588ed2466b8e23760060a33ee8e6 (diff) | |
| parent | e1be58c031b88fac71619c64d111af0060067bed (diff) | |
| download | perlweeklychallenge-club-6a4b08e11336f22f0881c24e85eed5e4cb0fec07.tar.gz perlweeklychallenge-club-6a4b08e11336f22f0881c24e85eed5e4cb0fec07.tar.bz2 perlweeklychallenge-club-6a4b08e11336f22f0881c24e85eed5e4cb0fec07.zip | |
Merge pull request #7103 from steve-g-lynn/branch-for-challenge-191
pwc 191
| -rw-r--r-- | challenge-191/steve-g-lynn/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-191/steve-g-lynn/perl/ch-1.pl | 14 | ||||
| -rwxr-xr-x | challenge-191/steve-g-lynn/perl/ch-2.pl | 23 | ||||
| -rwxr-xr-x | challenge-191/steve-g-lynn/raku/ch-1.p6 | 13 | ||||
| -rwxr-xr-x | challenge-191/steve-g-lynn/raku/ch-2.p6 | 16 |
5 files changed, 67 insertions, 0 deletions
diff --git a/challenge-191/steve-g-lynn/blog.txt b/challenge-191/steve-g-lynn/blog.txt new file mode 100644 index 0000000000..b3f971af51 --- /dev/null +++ b/challenge-191/steve-g-lynn/blog.txt @@ -0,0 +1 @@ +https://thiujiac.blogspot.com/2022/11/pwc-191.html diff --git a/challenge-191/steve-g-lynn/perl/ch-1.pl b/challenge-191/steve-g-lynn/perl/ch-1.pl new file mode 100755 index 0000000000..71881188b0 --- /dev/null +++ b/challenge-191/steve-g-lynn/perl/ch-1.pl @@ -0,0 +1,14 @@ +#!/usr/bin/env perl + + +print &twice_largest(1,2,3,4),"\n"; #-1 +print &twice_largest(1,2,0,5),"\n"; #1 +print &twice_largest(2,6,3,1),"\n"; #1 +print &twice_largest(4,5,2,3),"\n"; #-1 + +sub twice_largest { + my (@list)=@_; + my @sorted_list = sort {$b <=> $a} @list; + (($sorted_list[0]) >= (2*$sorted_list[1])) ? 1 : (-1); +} + diff --git a/challenge-191/steve-g-lynn/perl/ch-2.pl b/challenge-191/steve-g-lynn/perl/ch-2.pl new file mode 100755 index 0000000000..c00f5fadc9 --- /dev/null +++ b/challenge-191/steve-g-lynn/perl/ch-2.pl @@ -0,0 +1,23 @@ +#!/usr/bin/env perl + +use strict; +use warnings; + +use Algorithm::Permute qw(permute); + +print &cute_list(2),"\n"; #2 + +sub cute_list { + my ($n)=@_; + my @list=(1 .. $n); + my $ctr=0; + + permute { + for my $j (1 .. $n) { + (( ($list[$j-1] % $j) == 0) || ( ($j % $list[$j-1]) == 0)) || last; + ($j==$n) && ($ctr++); + } + } @list; + $ctr; +} + diff --git a/challenge-191/steve-g-lynn/raku/ch-1.p6 b/challenge-191/steve-g-lynn/raku/ch-1.p6 new file mode 100755 index 0000000000..a339d7fe37 --- /dev/null +++ b/challenge-191/steve-g-lynn/raku/ch-1.p6 @@ -0,0 +1,13 @@ +#!/usr/bin/env perl6 + + +say &twice-largest([1,2,3,4]); #-1 +say &twice-largest([1,2,0,5]); #1 +say &twice-largest([2,6,3,1]); #1 +say &twice-largest([4,5,2,3]); #-1 + +sub twice-largest (@list) { + my @sorted_list = @list.sort({$^b <=> $^a}); + ((@sorted_list[0]) >= (2*@sorted_list[1])) ?? 1 !! (-1); +} + diff --git a/challenge-191/steve-g-lynn/raku/ch-2.p6 b/challenge-191/steve-g-lynn/raku/ch-2.p6 new file mode 100755 index 0000000000..35ad8df257 --- /dev/null +++ b/challenge-191/steve-g-lynn/raku/ch-2.p6 @@ -0,0 +1,16 @@ +#!/usr/bin/env perl6 + +say &cute-list(2); #2 + +sub cute-list (Int $n) { + my @list=(1 .. $n); + my $ctr=0; + for (@list.permutations) -> @i { + for (1 .. @i.elems) -> $j { + ((@i[$j-1] %% $j) || ($j %% @i[$j-1])) || last; + ($j==$n) && ($ctr++); + } + } + $ctr; +} + |
