aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-076/luca-ferrari/raku/ch-1.p626
1 files changed, 26 insertions, 0 deletions
diff --git a/challenge-076/luca-ferrari/raku/ch-1.p6 b/challenge-076/luca-ferrari/raku/ch-1.p6
new file mode 100644
index 0000000000..d9c81c40a9
--- /dev/null
+++ b/challenge-076/luca-ferrari/raku/ch-1.p6
@@ -0,0 +1,26 @@
+#!raku
+
+
+sub MAIN( Int:D $N where { $N > 1 } ) {
+
+ # get primes excluding 1
+ my @primes = ( 1 ^..^ $N ).grep( *.is-prime ).sort;
+
+ my @sums;
+ my $how-many = 1;
+ while ( @sums.elems == 0 ) {
+ $how-many++; # start with summing two numbers
+ for @primes.permutations -> @checking {
+ for @checking.rotor( $how-many ) {
+ my @current-numbers = $_.sort;
+ my $sum = [+] @current-numbers;
+ @sums.push: @current-numbers if ( $sum == $N && ! @sums.grep( * ~~ @current-numbers ) );
+ }
+ }
+ }
+
+
+ # print the result
+ "$N minimum sum is made by: ".say;
+ .join( ' + ' ).say for @sums ;
+}