diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2020-10-18 22:49:10 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-10-18 22:49:10 +0100 |
| commit | 501d3341ac7d1fc6b47f2ba11af9be81af348e5d (patch) | |
| tree | 1e3aef5a6f9aa104874a2835e50b456965d67c66 /challenge-082 | |
| parent | c9f1e735d24c058c4f8cd7b481634522aca9ac11 (diff) | |
| parent | b68a75a9e68e7e13b22ab5257f889a2bc025216b (diff) | |
| download | perlweeklychallenge-club-501d3341ac7d1fc6b47f2ba11af9be81af348e5d.tar.gz perlweeklychallenge-club-501d3341ac7d1fc6b47f2ba11af9be81af348e5d.tar.bz2 perlweeklychallenge-club-501d3341ac7d1fc6b47f2ba11af9be81af348e5d.zip | |
Merge pull request #2546 from adamcrussell/challenge-082
perl solution for part 1 of challenge-082
Diffstat (limited to 'challenge-082')
| -rw-r--r-- | challenge-082/adam-russell/perl/ch-1.pl | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/challenge-082/adam-russell/perl/ch-1.pl b/challenge-082/adam-russell/perl/ch-1.pl new file mode 100644 index 0000000000..a9bdce7ab6 --- /dev/null +++ b/challenge-082/adam-russell/perl/ch-1.pl @@ -0,0 +1,30 @@ +use strict; +use warnings; +## +# You are given 2 positive numbers $M and $N. +# Write a script to list all common factors of the given numbers. +## +sub factor{ + my($n) = @_; + my @factors = (1); + foreach my $j (2..sqrt($n)){ + push @factors, $j if $n % $j == 0; + push @factors, ($n / $j) if $n % $j == 0 && $j ** 2 != $n; + } + return @factors; +} + +sub common_factors{ + my($m, $n) = @_; + my @common_factors = grep { my $f = $_; grep { $f == $_ } @{$n}} @{$m}; + return @common_factors; +} + + +MAIN:{ + my $M = 12; + my $N = 18; + my @m_factors = factor($M); + my @n_factors = factor($N); + print "(" . join(",", common_factors(\@m_factors, \@n_factors)) . ")\n"; +}
\ No newline at end of file |
