diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-10-14 19:51:40 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-10-14 19:51:40 +0100 |
| commit | 6f4aced7f11794fa97873bf97b90a5ec4b9d4a1e (patch) | |
| tree | 106ae113ed12861032eea590e06a829a81510c04 | |
| parent | 5a794d6d6aa988988db2c90c98cea224c26c282a (diff) | |
| parent | 0088d692d05da447a505e9e14a07cf0030d9b6ad (diff) | |
| download | perlweeklychallenge-club-6f4aced7f11794fa97873bf97b90a5ec4b9d4a1e.tar.gz perlweeklychallenge-club-6f4aced7f11794fa97873bf97b90a5ec4b9d4a1e.tar.bz2 perlweeklychallenge-club-6f4aced7f11794fa97873bf97b90a5ec4b9d4a1e.zip | |
Merge pull request #5021 from oWnOIzRi/week134
add solution week 134 task 2 in perl
| -rw-r--r-- | challenge-134/steven-wilson/perl/ch-2.pl | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/challenge-134/steven-wilson/perl/ch-2.pl b/challenge-134/steven-wilson/perl/ch-2.pl new file mode 100644 index 0000000000..a9b0b26acd --- /dev/null +++ b/challenge-134/steven-wilson/perl/ch-2.pl @@ -0,0 +1,34 @@ +#!/usr/bin/env perl +# Week 134 Task 2 +# Distinct Terms Count + +use strict; +use warnings; +use feature qw/ say /; +use Text::ASCIITable; + +my ( $m, $n ) = @ARGV; +my @rows; +my %distict_terms; +my $t = Text::ASCIITable->new(); + +( defined $m && defined $n ) && ( $m =~ /^\d+$/ && $n =~ /^\d+$/ ) + or die "2 positive integers must be passed as command line arguments\n"; + +for my $row ( 1 .. $m ) { + my @multiples = map { $row * $_ } ( 1 .. $n ); + map { $distict_terms{$_} = 1 } @multiples; + $rows[$row] = \@multiples; +} +my @distict_terms = sort { $a <=> $b } keys %distict_terms; + +printf( "Input: \$m = %d, \$n = %d\n", $m, $n ); +say "Output:\n"; +$t->setCols( 'x', 1 .. $n ); +$t->setOptions( { hide_FirstLine => 1, hide_LastLine => 1 } ); +for my $row ( 1 .. $m ) { + $t->addRow( $row, @{ $rows[$row] } ); +} +print $t; +say "\nDistinct Terms: ", join ", ", @distict_terms; +say "Count: ", scalar @distict_terms; |
