diff options
| author | Adam Russell <ac.russell@live.com> | 2020-01-05 16:37:23 -0500 |
|---|---|---|
| committer | Adam Russell <ac.russell@live.com> | 2020-01-05 16:37:23 -0500 |
| commit | fc3feb0bfe62987c4d345ca3d23cefcc4e100a05 (patch) | |
| tree | 83bbccc18800278fdb0d2987f1c0676ccdfd8461 /challenge-041 | |
| parent | 0fe1486e3dd54642f7f02f9a4587c523d0a0b6bb (diff) | |
| download | perlweeklychallenge-club-fc3feb0bfe62987c4d345ca3d23cefcc4e100a05.tar.gz perlweeklychallenge-club-fc3feb0bfe62987c4d345ca3d23cefcc4e100a05.tar.bz2 perlweeklychallenge-club-fc3feb0bfe62987c4d345ca3d23cefcc4e100a05.zip | |
solutions for challenge 041
Diffstat (limited to 'challenge-041')
| -rw-r--r-- | challenge-041/adam-russell/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-041/adam-russell/perl/ch-1.pl | 23 | ||||
| -rw-r--r-- | challenge-041/adam-russell/perl/ch-2.pl | 19 |
3 files changed, 43 insertions, 0 deletions
diff --git a/challenge-041/adam-russell/blog.txt b/challenge-041/adam-russell/blog.txt new file mode 100644 index 0000000000..30c2420401 --- /dev/null +++ b/challenge-041/adam-russell/blog.txt @@ -0,0 +1 @@ +https://adamcrussell.livejournal.com/14043.html diff --git a/challenge-041/adam-russell/perl/ch-1.pl b/challenge-041/adam-russell/perl/ch-1.pl new file mode 100644 index 0000000000..7c337eb483 --- /dev/null +++ b/challenge-041/adam-russell/perl/ch-1.pl @@ -0,0 +1,23 @@ +use strict; +use warnings; +## +# Write a script to display attractive numbers between 1 and 50. +## +sub prime_factor{ + my $x = shift(@_); + my @factors; + for (my $y = 2; $y <= $x; $y++){ + next if $x % $y; + $x /= $y; + push @factors, $y; + redo; + } + return @factors; +} + +MAIN:{ + for my $n (1 .. 50){ + my @factors = prime_factor($n); + print "$n (" . join(", " , @factors) . ")\n" if(prime_factor(scalar @factors) == 1); + } +} diff --git a/challenge-041/adam-russell/perl/ch-2.pl b/challenge-041/adam-russell/perl/ch-2.pl new file mode 100644 index 0000000000..e8b04eb8d2 --- /dev/null +++ b/challenge-041/adam-russell/perl/ch-2.pl @@ -0,0 +1,19 @@ +use strict; +use warnings; +## +# Write a script to display the first 20 Leonardo Numbers. +## +use constant NUMBERS => 20; +my $numbers = NUMBERS; +my @leonardo = (1, 1); +while($numbers){ + if((NUMBERS - $numbers) < 2){ + print "L(" . (NUMBERS - $numbers) . ") = " . $leonardo[-1] . "\n"; + } + else{ + my $leonardo = $leonardo[-1] + $leonardo[-2] + 1; + print "L(" . (NUMBERS - $numbers) . ") = $leonardo\n"; + push @leonardo, $leonardo; + } + $numbers--; +} |
