aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2023-11-05 00:24:29 +0000
committerGitHub <noreply@github.com>2023-11-05 00:24:29 +0000
commitdd6ed466cdbd98940925049e69093dee658a6d08 (patch)
tree02b3df746f2504278669dfda3615c28233d57a26
parent9c10fb15b8e9247c4ba9306c923d25ff9305a553 (diff)
parenta15b035e2db2d3706fde6de59cbd785da3f905f4 (diff)
downloadperlweeklychallenge-club-dd6ed466cdbd98940925049e69093dee658a6d08.tar.gz
perlweeklychallenge-club-dd6ed466cdbd98940925049e69093dee658a6d08.tar.bz2
perlweeklychallenge-club-dd6ed466cdbd98940925049e69093dee658a6d08.zip
Merge pull request #8989 from vinodk89/branch-for-challenge-241
Perl solutions for weekly challenge-241
-rw-r--r--challenge-241/vinod-k/perl/ch-1.pl17
-rw-r--r--challenge-241/vinod-k/perl/ch-2.pl39
2 files changed, 56 insertions, 0 deletions
diff --git a/challenge-241/vinod-k/perl/ch-1.pl b/challenge-241/vinod-k/perl/ch-1.pl
new file mode 100644
index 0000000000..cd7064c8b3
--- /dev/null
+++ b/challenge-241/vinod-k/perl/ch-1.pl
@@ -0,0 +1,17 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+
+my @a = (4, 5, 6, 7, 8, 9);
+my %params = map { $_ => 1 } @a;
+
+my $diff = 2;
+my $count = 0;
+
+foreach my $i (@a){
+ if(exists($params{$i + $diff}) && exists($params{$i+$diff+$diff})){
+ $count++;
+ }
+}
+
+print "Unique Arithmetic Triplets with diff $diff: $count\n";
diff --git a/challenge-241/vinod-k/perl/ch-2.pl b/challenge-241/vinod-k/perl/ch-2.pl
new file mode 100644
index 0000000000..8136051332
--- /dev/null
+++ b/challenge-241/vinod-k/perl/ch-2.pl
@@ -0,0 +1,39 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+
+my (%data, %h);
+
+my @array = (11, 8, 27, 4);
+
+foreach my $num (@array){
+ printPrimeFactors($num);
+}
+
+foreach my $key (keys %data){
+ foreach my $key2 (keys %{$data{$key}}){
+ $h{$key} += $data{$key}{$key2};
+ }
+}
+
+my @keys = sort {
+ $h{$a} <=> $h{$b}
+ or
+ $a <=> $b
+} keys(%h);
+
+print "Prime factors: ". join(',', @keys);
+
+sub printPrimeFactors {
+ my $n = shift;
+ my $a = $n;
+
+ for (my $i = 2; $n > 1; $i++) {
+ if ($n % $i == 0) {
+ while ($n % $i == 0) {
+ $data{$a}{$i}++;
+ $n = $n / $i ;
+ }
+ }
+ }
+}