diff options
| author | vinodk89 <vinodkk89@gmail.com> | 2023-11-03 21:26:46 +0530 |
|---|---|---|
| committer | vinodk89 <vinodkk89@gmail.com> | 2023-11-03 21:26:46 +0530 |
| commit | 7a7c1710f17275d97522b13ff3718135bfb5808f (patch) | |
| tree | a145914b508b7faf4b073dc28908d039cf3f7dc2 | |
| parent | 55f9e24e0fa53f838983f967fafb93745530c6e0 (diff) | |
| download | perlweeklychallenge-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.pl | 17 | ||||
| -rw-r--r-- | challenge-241/vinod-k/perl/ch-2.pl | 39 |
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 |
