From 60e02f7efd760ffdd7546176db0b3de9bead5f96 Mon Sep 17 00:00:00 2001 From: CY Fung Date: Mon, 20 Nov 2023 04:00:46 +0800 Subject: Week 243 --- challenge-243/cheok-yin-fung/perl/ch-1.pl | 19 +++++++++++++++++++ challenge-243/cheok-yin-fung/perl/ch-2.pl | 19 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 challenge-243/cheok-yin-fung/perl/ch-1.pl create mode 100644 challenge-243/cheok-yin-fung/perl/ch-2.pl diff --git a/challenge-243/cheok-yin-fung/perl/ch-1.pl b/challenge-243/cheok-yin-fung/perl/ch-1.pl new file mode 100644 index 0000000000..bd99fce9c2 --- /dev/null +++ b/challenge-243/cheok-yin-fung/perl/ch-1.pl @@ -0,0 +1,19 @@ +# The Weekly Challenge 243 +# Task 1 Reverse Pairs +use v5.30.0; +use warnings; + +sub rp { + my @nums = @_; + my $ans = 0; + for my $j (reverse 1..$#nums) { + for my $i (0..$j-1) { + $ans++ if $nums[$i] > 2*$nums[$j]; + } + } + return $ans; +} + +use Test::More tests=>2; +ok rp(1,3,2,3,1) == 2; +ok rp(2,4,3,5,1) == 3; diff --git a/challenge-243/cheok-yin-fung/perl/ch-2.pl b/challenge-243/cheok-yin-fung/perl/ch-2.pl new file mode 100644 index 0000000000..d7148a55f2 --- /dev/null +++ b/challenge-243/cheok-yin-fung/perl/ch-2.pl @@ -0,0 +1,19 @@ +# The Weekly Challenge 243 +# Task 2 Floor Sum +use v5.30.0; +use warnings; + +sub fs { + my @nums = @_; + my $sum = 0; + for my $m (@nums) { + for my $n (@nums) { + $sum += int($m/$n); + } + } + return $sum; +} + +use Test::More tests=>2; +ok fs(2,5,9) == 10; +ok fs(7,7,7,7,7,7,7) == 49; -- cgit