diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2021-03-07 21:00:02 +0000 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2021-03-07 21:00:02 +0000 |
| commit | 1aa64df1e8e633557a455bfbbc7a5e664ec25457 (patch) | |
| tree | 2c5bc674ffb30893b8fea8c795a0e83db434e079 /challenge-102 | |
| parent | 4bb78abdd7156db9f0a5691df86816efc6ebb4a0 (diff) | |
| download | perlweeklychallenge-club-1aa64df1e8e633557a455bfbbc7a5e664ec25457.tar.gz perlweeklychallenge-club-1aa64df1e8e633557a455bfbbc7a5e664ec25457.tar.bz2 perlweeklychallenge-club-1aa64df1e8e633557a455bfbbc7a5e664ec25457.zip | |
- Added solution by Cristina Heredia.
Diffstat (limited to 'challenge-102')
| -rw-r--r-- | challenge-102/cristian-heredia/perl/ch-1.pl | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/challenge-102/cristian-heredia/perl/ch-1.pl b/challenge-102/cristian-heredia/perl/ch-1.pl new file mode 100644 index 0000000000..5846c85171 --- /dev/null +++ b/challenge-102/cristian-heredia/perl/ch-1.pl @@ -0,0 +1,63 @@ +=begin + + TASK #1 › Rare Numbers + Submitted by: Mohammad S Anwar + You are given a positive integer $N. + + Write a script to generate all Rare numbers of size $N if exists. Please checkout the page for more information about it. + + Examples + (a) 2 digits: 65 + (b) 6 digits: 621770 + (c) 9 digits: 281089082 + +=end +=cut + + + +use strict; +use warnings; +use Data::Dumper; + + +my $number = 2; +my $min = 1; +my $max = 9; +my @array; +my $revNumber; +my $check1; +my $check2; +my $i; + +createNumbers(); +operation(); + +#First, create the array with the naumbers with size N +sub createNumbers{ + $max .= '9' while $number > length $max; + $min .= '0' while $number > length $min; + @array = ($min..$max); +} + +#R + R1 = X2 and R - R1 = Y2 +sub operation { + for ($i = 0; $i < @array; $i++) { + $revNumber = reverse($array[$i]); + $check1 = $array[$i] + $revNumber; + $check2 = $array[$i] - $revNumber; + if ($check2 > 0) { + perfectSquare(); + } + } +} + +#Check that they're perfect square +sub perfectSquare { + my $result1 = sqrt $check1; + + my $result2 = sqrt $check2; + if ($result1 =~ /^\d+$/ and $result2 =~ /^\d+$/) { + print "$array[$i]\n"; + } +} |
