From 8020fb491de5f4c67edf067733151d0b0bc41859 Mon Sep 17 00:00:00 2001 From: Jan Krňávek Date: Sun, 21 Jan 2024 21:13:03 +0100 Subject: solution week 252-1 --- challenge-252/wambash/raku/ch-1.raku | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 challenge-252/wambash/raku/ch-1.raku diff --git a/challenge-252/wambash/raku/ch-1.raku b/challenge-252/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..146087b399 --- /dev/null +++ b/challenge-252/wambash/raku/ch-1.raku @@ -0,0 +1,34 @@ +#!/usr/bin/env raku +use Prime::Factor; + +sub specal-numbers (+@ints) { + my $size = @ints.elems; + + 1..* Z=> @ints + andthen .grep: $size %% *.key + andthen .map: *.value² + andthen .sum +} + +sub specal-numbers-pf (+@ints) { + @ints + andthen .elems + andthen divisors $_ + andthen .map: *-1 + andthen @ints[|$_] + andthen .map: *² + andthen .sum +} + +multi MAIN (Bool :test($)!) { + use Test; + is specal-numbers(1..4),21; + is specal-numbers(2, 7, 1, 19, 18, 3),63; + is specal-numbers-pf(1..4),21; + is specal-numbers-pf(2, 7, 1, 19, 18, 3),63; + done-testing; +} + +multi MAIN (+@ints) { + say specal-numbers @ints +} -- cgit