aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJörg Sommrey <28217714+jo-37@users.noreply.github.com>2020-11-30 13:16:14 +0100
committerJörg Sommrey <28217714+jo-37@users.noreply.github.com>2020-12-01 18:04:12 +0100
commit38c03a6ae91456aae0614e675254ceff82f767b2 (patch)
tree6ada0af8ebbc38d7bd6ada53650a2c0543f7084a
parente402b58fb4a5205606dda4cfcd5cb85cb4bc11f6 (diff)
downloadperlweeklychallenge-club-38c03a6ae91456aae0614e675254ceff82f767b2.tar.gz
perlweeklychallenge-club-38c03a6ae91456aae0614e675254ceff82f767b2.tar.bz2
perlweeklychallenge-club-38c03a6ae91456aae0614e675254ceff82f767b2.zip
Solution to task 1
-rwxr-xr-xchallenge-089/jo-37/perl/ch-1.pl20
1 files changed, 20 insertions, 0 deletions
diff --git a/challenge-089/jo-37/perl/ch-1.pl b/challenge-089/jo-37/perl/ch-1.pl
new file mode 100755
index 0000000000..93510bb801
--- /dev/null
+++ b/challenge-089/jo-37/perl/ch-1.pl
@@ -0,0 +1,20 @@
+#!/usr/bin/perl
+
+use Test2::V0;
+use Math::Utils 'gcd';
+use List::Util 'reduce';
+
+sub gcd_sum {
+ my $n = shift;
+ reduce {
+ local *_ = \$b;
+ $a + reduce {$a + gcd($_, $_ + $b)} 0 .. $n - $b;
+ } 0 .. $n - 1;
+}
+
+is gcd_sum(3), 3, 'Example 1';
+is gcd_sum(4), 7, 'Example 2';
+is gcd_sum(5), 11;
+is gcd_sum(6), 20;
+
+done_testing;