diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2022-02-03 07:48:44 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-02-03 07:48:44 +0000 |
| commit | 52b70de6c558ebc3dee2bfeb7a61c627f09f1cdc (patch) | |
| tree | b6eaedab88a7a345477340a05302810742d684d3 /challenge-150 | |
| parent | 4008aadddbfd741468c538129fad0a906b2d0a5c (diff) | |
| parent | 13ec25e0930c6dba9ce1ade7afdd9bfb47db0e16 (diff) | |
| download | perlweeklychallenge-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.pl | 16 | ||||
| -rw-r--r-- | challenge-150/deadmarshal/perl/ch-2.pl | 37 |
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(); |
