From 919be22f93482ce1033cca5bde16c312605ff537 Mon Sep 17 00:00:00 2001 From: Mark <53903062+andemark@users.noreply.github.com> Date: Mon, 15 Jan 2024 09:59:40 +0000 Subject: Challenge 252 Solutions (Raku) --- challenge-252/mark-anderson/raku/ch-1.raku | 13 +++++++++++++ challenge-252/mark-anderson/raku/ch-2.raku | 24 ++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 challenge-252/mark-anderson/raku/ch-1.raku create mode 100644 challenge-252/mark-anderson/raku/ch-2.raku (limited to 'challenge-252') diff --git a/challenge-252/mark-anderson/raku/ch-1.raku b/challenge-252/mark-anderson/raku/ch-1.raku new file mode 100644 index 0000000000..61ee7f19da --- /dev/null +++ b/challenge-252/mark-anderson/raku/ch-1.raku @@ -0,0 +1,13 @@ +#!/usr/bin/env raku +use Prime::Factor; +use Test; + +is special-numbers([1,2,3,4]), 21; +is special-numbers([2,7,1,19,18,3]), 63; + +sub special-numbers(@ints) +{ + @ints.unshift: Any; + + [+] @ints[divisors @ints.end] >>**>> 2 +} diff --git a/challenge-252/mark-anderson/raku/ch-2.raku b/challenge-252/mark-anderson/raku/ch-2.raku new file mode 100644 index 0000000000..cfc70ac832 --- /dev/null +++ b/challenge-252/mark-anderson/raku/ch-2.raku @@ -0,0 +1,24 @@ +#!/usr/bin/env raku +use Test; + +is-deeply uniq-sum-zero(5), (-2,-1,1,2,0); +is-deeply uniq-sum-zero(3), (-1,1,0); +is-deeply uniq-sum-zero(1), (0,); +is-deeply uniq-sum-zero(0), (); +is-deeply uniq-sum-zero(-0), (); +is-deeply uniq-sum-zero(-1), (0,); +is-deeply uniq-sum-zero(-8), (-4,-3,-2,-1,1,2,3,4); +is-deeply uniq-sum-zero(-9), (-4,-3,-2,-1,1,2,3,4,0); + +multi uniq-sum-zero($n where 0) { () } + +multi uniq-sum-zero($n where 1|-1) { (0,) } + +multi uniq-sum-zero($n is copy) +{ + $n .= abs; + + my $i = $n div 2; + + (-$i,-$i+1...-1,1,2,3...$i,0)[^$n] +} -- cgit From ff8c1a85f0c2e5e5b6cae9721f8462dcf6cfe7eb Mon Sep 17 00:00:00 2001 From: Mark <53903062+andemark@users.noreply.github.com> Date: Mon, 15 Jan 2024 17:06:15 +0000 Subject: Challenge 252 Solutions (Raku) --- challenge-252/mark-anderson/raku/ch-1.raku | 1 - challenge-252/mark-anderson/raku/ch-2.raku | 15 ++++----------- 2 files changed, 4 insertions(+), 12 deletions(-) (limited to 'challenge-252') diff --git a/challenge-252/mark-anderson/raku/ch-1.raku b/challenge-252/mark-anderson/raku/ch-1.raku index 61ee7f19da..5de0eeaf33 100644 --- a/challenge-252/mark-anderson/raku/ch-1.raku +++ b/challenge-252/mark-anderson/raku/ch-1.raku @@ -8,6 +8,5 @@ is special-numbers([2,7,1,19,18,3]), 63; sub special-numbers(@ints) { @ints.unshift: Any; - [+] @ints[divisors @ints.end] >>**>> 2 } diff --git a/challenge-252/mark-anderson/raku/ch-2.raku b/challenge-252/mark-anderson/raku/ch-2.raku index cfc70ac832..6083c3456f 100644 --- a/challenge-252/mark-anderson/raku/ch-2.raku +++ b/challenge-252/mark-anderson/raku/ch-2.raku @@ -5,20 +5,13 @@ is-deeply uniq-sum-zero(5), (-2,-1,1,2,0); is-deeply uniq-sum-zero(3), (-1,1,0); is-deeply uniq-sum-zero(1), (0,); is-deeply uniq-sum-zero(0), (); -is-deeply uniq-sum-zero(-0), (); -is-deeply uniq-sum-zero(-1), (0,); -is-deeply uniq-sum-zero(-8), (-4,-3,-2,-1,1,2,3,4); -is-deeply uniq-sum-zero(-9), (-4,-3,-2,-1,1,2,3,4,0); - -multi uniq-sum-zero($n where 0) { () } - -multi uniq-sum-zero($n where 1|-1) { (0,) } +is-deeply uniq-sum-zero(8), (-4,-3,-2,-1,1,2,3,4); +is-deeply uniq-sum-zero(9), (-4,-3,-2,-1,1,2,3,4,0); +multi uniq-sum-zero($n where 0) { () } +multi uniq-sum-zero($n where 1) { (0,) } multi uniq-sum-zero($n is copy) { - $n .= abs; - my $i = $n div 2; - (-$i,-$i+1...-1,1,2,3...$i,0)[^$n] } -- cgit From 12ee61db18a0cee1763f7b7cdf9492e220e88978 Mon Sep 17 00:00:00 2001 From: Mark <53903062+andemark@users.noreply.github.com> Date: Mon, 15 Jan 2024 17:10:44 +0000 Subject: Challenge 252 Solutions (Raku) --- challenge-252/mark-anderson/raku/ch-2.raku | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'challenge-252') diff --git a/challenge-252/mark-anderson/raku/ch-2.raku b/challenge-252/mark-anderson/raku/ch-2.raku index 6083c3456f..5ad9f9751e 100644 --- a/challenge-252/mark-anderson/raku/ch-2.raku +++ b/challenge-252/mark-anderson/raku/ch-2.raku @@ -1,10 +1,10 @@ #!/usr/bin/env raku use Test; -is-deeply uniq-sum-zero(5), (-2,-1,1,2,0); -is-deeply uniq-sum-zero(3), (-1,1,0); -is-deeply uniq-sum-zero(1), (0,); -is-deeply uniq-sum-zero(0), (); +is-deeply uniq-sum-zero(5), (-2,-1,1,2,0); +is-deeply uniq-sum-zero(3), (-1,1,0); +is-deeply uniq-sum-zero(1), (0,); +is-deeply uniq-sum-zero(0), (); is-deeply uniq-sum-zero(8), (-4,-3,-2,-1,1,2,3,4); is-deeply uniq-sum-zero(9), (-4,-3,-2,-1,1,2,3,4,0); -- cgit From 429584069ee41376d181a37fe6597c1c72b8d5d9 Mon Sep 17 00:00:00 2001 From: Mark <53903062+andemark@users.noreply.github.com> Date: Mon, 15 Jan 2024 17:26:08 +0000 Subject: Challenge 252 Solutions (Raku) --- challenge-252/mark-anderson/raku/ch-2.raku | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'challenge-252') diff --git a/challenge-252/mark-anderson/raku/ch-2.raku b/challenge-252/mark-anderson/raku/ch-2.raku index 5ad9f9751e..6c72b3aae2 100644 --- a/challenge-252/mark-anderson/raku/ch-2.raku +++ b/challenge-252/mark-anderson/raku/ch-2.raku @@ -8,9 +8,9 @@ is-deeply uniq-sum-zero(0), (); is-deeply uniq-sum-zero(8), (-4,-3,-2,-1,1,2,3,4); is-deeply uniq-sum-zero(9), (-4,-3,-2,-1,1,2,3,4,0); -multi uniq-sum-zero($n where 0) { () } -multi uniq-sum-zero($n where 1) { (0,) } -multi uniq-sum-zero($n is copy) +multi uniq-sum-zero($n where 0) { () } +multi uniq-sum-zero($n where 1) { (0,) } +multi uniq-sum-zero($n where * > 1) { my $i = $n div 2; (-$i,-$i+1...-1,1,2,3...$i,0)[^$n] -- cgit From 10d7dc1c81d1299bee405a2059f72c85f8c9b9eb Mon Sep 17 00:00:00 2001 From: Mark <53903062+andemark@users.noreply.github.com> Date: Mon, 15 Jan 2024 22:18:41 +0000 Subject: Challenge 252 Solutions (Raku) --- challenge-252/mark-anderson/raku/ch-2.raku | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'challenge-252') diff --git a/challenge-252/mark-anderson/raku/ch-2.raku b/challenge-252/mark-anderson/raku/ch-2.raku index 6c72b3aae2..873a46dbdd 100644 --- a/challenge-252/mark-anderson/raku/ch-2.raku +++ b/challenge-252/mark-anderson/raku/ch-2.raku @@ -13,5 +13,5 @@ multi uniq-sum-zero($n where 1) { (0,) } multi uniq-sum-zero($n where * > 1) { my $i = $n div 2; - (-$i,-$i+1...-1,1,2,3...$i,0)[^$n] + (-$i...-1,1,2,3...$i,0)[^$n] } -- cgit From daf52938c1e04b3edc829a3d12e1aafd51742c34 Mon Sep 17 00:00:00 2001 From: Mark <53903062+andemark@users.noreply.github.com> Date: Mon, 15 Jan 2024 23:24:08 +0000 Subject: Challenge 252 Solutions (Raku) --- challenge-252/mark-anderson/raku/ch-2.raku | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'challenge-252') diff --git a/challenge-252/mark-anderson/raku/ch-2.raku b/challenge-252/mark-anderson/raku/ch-2.raku index 873a46dbdd..3e398a8e1e 100644 --- a/challenge-252/mark-anderson/raku/ch-2.raku +++ b/challenge-252/mark-anderson/raku/ch-2.raku @@ -3,14 +3,13 @@ use Test; is-deeply uniq-sum-zero(5), (-2,-1,1,2,0); is-deeply uniq-sum-zero(3), (-1,1,0); +is-deeply uniq-sum-zero(2), (-1,1); is-deeply uniq-sum-zero(1), (0,); is-deeply uniq-sum-zero(0), (); is-deeply uniq-sum-zero(8), (-4,-3,-2,-1,1,2,3,4); is-deeply uniq-sum-zero(9), (-4,-3,-2,-1,1,2,3,4,0); -multi uniq-sum-zero($n where 0) { () } -multi uniq-sum-zero($n where 1) { (0,) } -multi uniq-sum-zero($n where * > 1) +sub uniq-sum-zero($n) { my $i = $n div 2; (-$i...-1,1,2,3...$i,0)[^$n] -- cgit From fd5b1518503495fe683a87722769fe20397be953 Mon Sep 17 00:00:00 2001 From: Mark <53903062+andemark@users.noreply.github.com> Date: Mon, 15 Jan 2024 23:36:27 +0000 Subject: Challenge 252 Solutions (Raku) --- challenge-252/mark-anderson/raku/ch-2.raku | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'challenge-252') diff --git a/challenge-252/mark-anderson/raku/ch-2.raku b/challenge-252/mark-anderson/raku/ch-2.raku index 3e398a8e1e..c254a4c654 100644 --- a/challenge-252/mark-anderson/raku/ch-2.raku +++ b/challenge-252/mark-anderson/raku/ch-2.raku @@ -9,7 +9,7 @@ is-deeply uniq-sum-zero(0), (); is-deeply uniq-sum-zero(8), (-4,-3,-2,-1,1,2,3,4); is-deeply uniq-sum-zero(9), (-4,-3,-2,-1,1,2,3,4,0); -sub uniq-sum-zero($n) +sub uniq-sum-zero($n where * >= 0) { my $i = $n div 2; (-$i...-1,1,2,3...$i,0)[^$n] -- cgit