aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvinodk89 <vinodkk89@gmail.com>2023-11-03 21:26:46 +0530
committervinodk89 <vinodkk89@gmail.com>2023-11-03 21:26:46 +0530
commit7a7c1710f17275d97522b13ff3718135bfb5808f (patch)
treea145914b508b7faf4b073dc28908d039cf3f7dc2
parent55f9e24e0fa53f838983f967fafb93745530c6e0 (diff)
downloadperlweeklychallenge-club-7a7c1710f17275d97522b13ff3718135bfb5808f.tar.gz
perlweeklychallenge-club-7a7c1710f17275d97522b13ff3718135bfb5808f.tar.bz2
perlweeklychallenge-club-7a7c1710f17275d97522b13ff3718135bfb5808f.zip
Perl solution 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..350d72d28d
--- /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"; \ No newline at end of file
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..ab20bd19a0
--- /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 ;
+ }
+ }
+ }
+} \ No newline at end of file