aboutsummaryrefslogtreecommitdiff
path: root/challenge-102
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2021-03-07 21:00:02 +0000
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2021-03-07 21:00:02 +0000
commit1aa64df1e8e633557a455bfbbc7a5e664ec25457 (patch)
tree2c5bc674ffb30893b8fea8c795a0e83db434e079 /challenge-102
parent4bb78abdd7156db9f0a5691df86816efc6ebb4a0 (diff)
downloadperlweeklychallenge-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.pl63
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";
+ }
+}