aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2023-10-15 20:51:23 +0100
committerGitHub <noreply@github.com>2023-10-15 20:51:23 +0100
commit570ccc0e20383e9762dec749408d489fc6e5c321 (patch)
tree79ac41059c7ff5d992eebde96f8e62dd35c60f52
parentd9345ca8d5bd2ffac181bec0e44d891769273c9d (diff)
parentfa94e15a7dc0c2f0e338b9c5e7fe3fb5697808a2 (diff)
downloadperlweeklychallenge-club-570ccc0e20383e9762dec749408d489fc6e5c321.tar.gz
perlweeklychallenge-club-570ccc0e20383e9762dec749408d489fc6e5c321.tar.bz2
perlweeklychallenge-club-570ccc0e20383e9762dec749408d489fc6e5c321.zip
Merge pull request #8871 from jaldhar/challenge-238
Challenge 238 by Jaldhar H. Vyas.
-rw-r--r--challenge-238/jaldhar-h-vyas/blog.txt1
-rwxr-xr-xchallenge-238/jaldhar-h-vyas/perl/ch-1.sh3
-rwxr-xr-xchallenge-238/jaldhar-h-vyas/perl/ch-2.pl25
-rwxr-xr-xchallenge-238/jaldhar-h-vyas/raku/ch-1.sh3
-rwxr-xr-xchallenge-238/jaldhar-h-vyas/raku/ch-2.raku21
5 files changed, 53 insertions, 0 deletions
diff --git a/challenge-238/jaldhar-h-vyas/blog.txt b/challenge-238/jaldhar-h-vyas/blog.txt
new file mode 100644
index 0000000000..efaeed226c
--- /dev/null
+++ b/challenge-238/jaldhar-h-vyas/blog.txt
@@ -0,0 +1 @@
+https://www.braincells.com/perl/2023/10/perl_weekly_challenge_week_238.html
diff --git a/challenge-238/jaldhar-h-vyas/perl/ch-1.sh b/challenge-238/jaldhar-h-vyas/perl/ch-1.sh
new file mode 100755
index 0000000000..610b9f4a30
--- /dev/null
+++ b/challenge-238/jaldhar-h-vyas/perl/ch-1.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+perl -E 'say q{(},(join q{, },map{$t+=$_}@ARGV),q{)}' "$@" \ No newline at end of file
diff --git a/challenge-238/jaldhar-h-vyas/perl/ch-2.pl b/challenge-238/jaldhar-h-vyas/perl/ch-2.pl
new file mode 100755
index 0000000000..61b42eac77
--- /dev/null
+++ b/challenge-238/jaldhar-h-vyas/perl/ch-2.pl
@@ -0,0 +1,25 @@
+#!/usr/bin/perl
+use 5.030;
+use warnings;
+
+my @ints = @ARGV;
+my %steps;
+
+for my $int (@ints) {
+ my $n = $int;
+ my $s = 0;
+ while (length $n > 1) {
+ my $t = 1;
+ my @digits = split //, $n;
+ for my $digit (@digits) {
+ $t *= $digit;
+ }
+ $n = $t;
+ $s++;
+ }
+ $steps{$int} = $s;
+}
+
+my @sorted = sort { $steps{$a} <=> $steps{$b} || $a > $b } keys %steps;
+
+say q{(}, (join q{, }, @sorted), q{)};
diff --git a/challenge-238/jaldhar-h-vyas/raku/ch-1.sh b/challenge-238/jaldhar-h-vyas/raku/ch-1.sh
new file mode 100755
index 0000000000..517600f558
--- /dev/null
+++ b/challenge-238/jaldhar-h-vyas/raku/ch-1.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+raku -e 'my $t=0;say q{(},@*ARGS.map({$t+=$_}).join(q{, }),q{)}' "$@" \ No newline at end of file
diff --git a/challenge-238/jaldhar-h-vyas/raku/ch-2.raku b/challenge-238/jaldhar-h-vyas/raku/ch-2.raku
new file mode 100755
index 0000000000..acc031e17f
--- /dev/null
+++ b/challenge-238/jaldhar-h-vyas/raku/ch-2.raku
@@ -0,0 +1,21 @@
+#!/usr/bin/raku
+
+sub MAIN(
+ *@ints
+) {
+ my %steps;
+
+ for @ints -> $int {
+ my $n = $int;
+ my $s = 0;
+ while $n.chars > 1 {
+ $n = [*] ($n.comb);
+ $s++;
+ }
+ %steps{$int} = $s;
+ }
+
+ my @sorted = %steps.keys.sort({ %steps{$^a} <=> %steps{$^b} || $^a > $^b });
+
+ say q{(}, @sorted.join(q{, }), q{)};
+} \ No newline at end of file