aboutsummaryrefslogtreecommitdiff
path: root/challenge-150
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2022-02-03 07:48:44 +0000
committerGitHub <noreply@github.com>2022-02-03 07:48:44 +0000
commit52b70de6c558ebc3dee2bfeb7a61c627f09f1cdc (patch)
treeb6eaedab88a7a345477340a05302810742d684d3 /challenge-150
parent4008aadddbfd741468c538129fad0a906b2d0a5c (diff)
parent13ec25e0930c6dba9ce1ade7afdd9bfb47db0e16 (diff)
downloadperlweeklychallenge-club-52b70de6c558ebc3dee2bfeb7a61c627f09f1cdc.tar.gz
perlweeklychallenge-club-52b70de6c558ebc3dee2bfeb7a61c627f09f1cdc.tar.bz2
perlweeklychallenge-club-52b70de6c558ebc3dee2bfeb7a61c627f09f1cdc.zip
Merge pull request #5606 from deadmarshal/branch-for-challenge-150
Added solutions for challenge 150.
Diffstat (limited to 'challenge-150')
-rw-r--r--challenge-150/deadmarshal/perl/ch-1.pl16
-rw-r--r--challenge-150/deadmarshal/perl/ch-2.pl37
2 files changed, 53 insertions, 0 deletions
diff --git a/challenge-150/deadmarshal/perl/ch-1.pl b/challenge-150/deadmarshal/perl/ch-1.pl
new file mode 100644
index 0000000000..717e50d895
--- /dev/null
+++ b/challenge-150/deadmarshal/perl/ch-1.pl
@@ -0,0 +1,16 @@
+use strict;
+use warnings;
+
+print "No args provided!\n" unless @ARGV == 2;
+my ($s1, $s2) = @ARGV;
+
+sub fibonacci_words{
+ my (@arr) = @_;
+ do{
+ push @arr, $arr[-2] . $arr[-1];
+ }while(length $arr[$#arr] < 52);
+
+ return (split //, $arr[$#arr])[50];
+}
+
+print fibonacci_words($s1, $s2);
diff --git a/challenge-150/deadmarshal/perl/ch-2.pl b/challenge-150/deadmarshal/perl/ch-2.pl
new file mode 100644
index 0000000000..f43cc8acc4
--- /dev/null
+++ b/challenge-150/deadmarshal/perl/ch-2.pl
@@ -0,0 +1,37 @@
+use strict;
+use warnings;
+use List::MoreUtils qw(uniq);
+
+sub prime_factors{
+ my ($num) = @_;
+ my $c = 2;
+ my @arr;
+ while($num > 1){
+ if($num % $c == 0){
+ push @arr, $c;
+ $num /= $c;
+ }
+ else{
+ $c++;
+ }
+ }
+ return @arr;
+}
+
+sub square_free_integers{
+ my @arr;
+ my $i = 1;
+ do{
+ my @primes = prime_factors($i);
+ my $prime = uniq @primes;
+
+ if(scalar(@primes) - $prime == 0){
+ push @arr, $i;
+ }
+ $i++;
+ }while(scalar @arr <= 500);
+
+ return @arr;
+}
+
+print "$_ " foreach square_free_integers();