diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2023-10-15 20:51:23 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-10-15 20:51:23 +0100 |
| commit | 570ccc0e20383e9762dec749408d489fc6e5c321 (patch) | |
| tree | 79ac41059c7ff5d992eebde96f8e62dd35c60f52 | |
| parent | d9345ca8d5bd2ffac181bec0e44d891769273c9d (diff) | |
| parent | fa94e15a7dc0c2f0e338b9c5e7fe3fb5697808a2 (diff) | |
| download | perlweeklychallenge-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.txt | 1 | ||||
| -rwxr-xr-x | challenge-238/jaldhar-h-vyas/perl/ch-1.sh | 3 | ||||
| -rwxr-xr-x | challenge-238/jaldhar-h-vyas/perl/ch-2.pl | 25 | ||||
| -rwxr-xr-x | challenge-238/jaldhar-h-vyas/raku/ch-1.sh | 3 | ||||
| -rwxr-xr-x | challenge-238/jaldhar-h-vyas/raku/ch-2.raku | 21 |
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 |
