From 7cb85b1809a6fda957dd705353d37e121310f441 Mon Sep 17 00:00:00 2001 From: "Jaldhar H. Vyas" Date: Wed, 15 Nov 2023 01:40:07 -0500 Subject: Challenge 243 by Jaldhar H. Vyas. --- challenge-243/jaldhar-h-vyas/blog.txt | 1 + challenge-243/jaldhar-h-vyas/perl/ch-1.pl | 33 +++++++++++++++++++++++++++++++ challenge-243/jaldhar-h-vyas/perl/ch-2.pl | 15 ++++++++++++++ challenge-243/jaldhar-h-vyas/raku/ch-1.sh | 3 +++ challenge-243/jaldhar-h-vyas/raku/ch-2.sh | 3 +++ 5 files changed, 55 insertions(+) create mode 100644 challenge-243/jaldhar-h-vyas/blog.txt create mode 100755 challenge-243/jaldhar-h-vyas/perl/ch-1.pl create mode 100755 challenge-243/jaldhar-h-vyas/perl/ch-2.pl create mode 100755 challenge-243/jaldhar-h-vyas/raku/ch-1.sh create mode 100755 challenge-243/jaldhar-h-vyas/raku/ch-2.sh diff --git a/challenge-243/jaldhar-h-vyas/blog.txt b/challenge-243/jaldhar-h-vyas/blog.txt new file mode 100644 index 0000000000..b796c81130 --- /dev/null +++ b/challenge-243/jaldhar-h-vyas/blog.txt @@ -0,0 +1 @@ +https://www.braincells.com/perl/2023/11/perl_weekly_challenge_week_243.html diff --git a/challenge-243/jaldhar-h-vyas/perl/ch-1.pl b/challenge-243/jaldhar-h-vyas/perl/ch-1.pl new file mode 100755 index 0000000000..39a4333243 --- /dev/null +++ b/challenge-243/jaldhar-h-vyas/perl/ch-1.pl @@ -0,0 +1,33 @@ +#!/usr/bin/perl +use 5.030; +use warnings; + +sub combinations { + my @list = @{$_[0]}; + my $length = $_[1]; + + if ($length <= 1) { + return map [$_], @list; + } + + my @combos; + + for (my $i = 0; $i + $length <= scalar @list; $i++) { + my $val = $list[$i]; + my @rest = @list[$i + 1 .. $#list]; + for my $c (combinations(\@rest, $length - 1)) { + push @combos, [$val, @{$c}] ; + } + } + + return @combos; +} + +my @nums = @ARGV; +my @indices = 0 .. scalar @nums - 1; + +say scalar grep { + my ($i, $j) = @{$_}; + + $nums[$i] > 2 * $nums[$j]; +} combinations(\@indices, 2) diff --git a/challenge-243/jaldhar-h-vyas/perl/ch-2.pl b/challenge-243/jaldhar-h-vyas/perl/ch-2.pl new file mode 100755 index 0000000000..4d0a6d3ed0 --- /dev/null +++ b/challenge-243/jaldhar-h-vyas/perl/ch-2.pl @@ -0,0 +1,15 @@ +#!/usr/bin/perl +use 5.030; +use warnings; +use POSIX qw/ floor /; + +my @nums = @ARGV; +my $sum = 0; + +for my $i (@nums) { + for my $j (@nums) { + $sum += floor($i / $j); + } +} + +say $sum; diff --git a/challenge-243/jaldhar-h-vyas/raku/ch-1.sh b/challenge-243/jaldhar-h-vyas/raku/ch-1.sh new file mode 100755 index 0000000000..0df8771b95 --- /dev/null +++ b/challenge-243/jaldhar-h-vyas/raku/ch-1.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +raku -e '(0 .. @*ARGS.end).combinations(2).grep({@*ARGS[@$_[0]]>2*@*ARGS[@$_[1]]}).elems.say;' "$@" diff --git a/challenge-243/jaldhar-h-vyas/raku/ch-2.sh b/challenge-243/jaldhar-h-vyas/raku/ch-2.sh new file mode 100755 index 0000000000..25578509c1 --- /dev/null +++ b/challenge-243/jaldhar-h-vyas/raku/ch-2.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +raku -e '(@*ARGS X @*ARGS).map({(@$_[0]/@$_[1]).floor}).sum.say' "$@" -- cgit