diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2022-01-23 22:48:09 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-23 22:48:09 +0000 |
| commit | e944735f6b9b8f53edfc4e92350f6f9348dc07d1 (patch) | |
| tree | f0d125b23d55dc4fcf68fa72acbd0dde6f1aab62 /challenge-148 | |
| parent | 7b2a4c167050e35bc8b823008b854da55dc5c393 (diff) | |
| parent | f1fe4dbfb8c32fedf0fcb60ad00e94295d27696b (diff) | |
| download | perlweeklychallenge-club-e944735f6b9b8f53edfc4e92350f6f9348dc07d1.tar.gz perlweeklychallenge-club-e944735f6b9b8f53edfc4e92350f6f9348dc07d1.tar.bz2 perlweeklychallenge-club-e944735f6b9b8f53edfc4e92350f6f9348dc07d1.zip | |
Merge pull request #5555 from adamcrussell/challenge-148
initial commit
Diffstat (limited to 'challenge-148')
| -rw-r--r-- | challenge-148/adam-russell/perl/ch-1.pl | 36 | ||||
| -rw-r--r-- | challenge-148/adam-russell/perl/ch-2.pl | 24 |
2 files changed, 60 insertions, 0 deletions
diff --git a/challenge-148/adam-russell/perl/ch-1.pl b/challenge-148/adam-russell/perl/ch-1.pl new file mode 100644 index 0000000000..0dcc08feb2 --- /dev/null +++ b/challenge-148/adam-russell/perl/ch-1.pl @@ -0,0 +1,36 @@ +use strict; +use warnings; +## +# Write a script to generate all Eban Numbers <= 100. +## +use boolean; + +sub eban{ + my($n) = @_; + return false if $n =~ m/^1.*/; + return false if $n =~ m/.*1$/; + return false if $n =~ m/.*3$/; + return false if $n =~ m/.*5$/; + return false if $n =~ m/.*7$/; + return false if $n =~ m/.*8$/; + return false if $n =~ m/.*9$/; + return false if $n =~ m/2[0-9]$/; + return false if $n =~ m/7[0-9]$/; + return false if $n =~ m/8[0-9]$/; + return false if $n =~ m/9[0-9]$/; + return true; +} + +sub eban_under_100{ + my @eban; + my $x = 1; + do{ + push @eban, $x if eban($x); + $x++; + }while($x <= 100); + return @eban; +} + +MAIN:{ + print join(", ", eban_under_100()) . "\n"; +}
\ No newline at end of file diff --git a/challenge-148/adam-russell/perl/ch-2.pl b/challenge-148/adam-russell/perl/ch-2.pl new file mode 100644 index 0000000000..c169679174 --- /dev/null +++ b/challenge-148/adam-russell/perl/ch-2.pl @@ -0,0 +1,24 @@ +use strict; +use warnings; +## +# Write a script to generate first 5 Cardano Triplets. +## +use POSIX; +use Algorithm::Combinatorics q/tuples/; + +sub first_five_cardano_triplets{ + my @triplets; + for my $tuple (tuples([0..100], 3)){ + my($s, $t, $u) = @{$tuple}; + if(8 * pow($s, 3) + 15 * pow($s, 2) + 6 * $s - 27 * pow($t, 2) * $u == 1){ + push @triplets, [$s, $t, $u]; + } + return @triplets if @triplets == 5; + } +} + +MAIN:{ + for my $triplet (first_five_cardano_triplets()){ + print join(", ", @{$triplet}) . "\n"; + } +}
\ No newline at end of file |
