aboutsummaryrefslogtreecommitdiff
path: root/challenge-084
diff options
context:
space:
mode:
authorAdam Russell <ac.russell@live.com>2020-11-01 14:50:52 -0500
committerAdam Russell <ac.russell@live.com>2020-11-01 14:50:52 -0500
commitdeaab9ed10a31d6858630064dec4a646368ae149 (patch)
treea3c9ea280653fdc8008a0fe58e82a33a19732881 /challenge-084
parentdadcf251061d31b7073bd05005420d46fec6a8b3 (diff)
downloadperlweeklychallenge-club-deaab9ed10a31d6858630064dec4a646368ae149.tar.gz
perlweeklychallenge-club-deaab9ed10a31d6858630064dec4a646368ae149.tar.bz2
perlweeklychallenge-club-deaab9ed10a31d6858630064dec4a646368ae149.zip
solution for challenge 084
Diffstat (limited to 'challenge-084')
-rw-r--r--challenge-084/adam-russell/blog.txt1
-rw-r--r--challenge-084/adam-russell/perl/ch-1.pl24
2 files changed, 25 insertions, 0 deletions
diff --git a/challenge-084/adam-russell/blog.txt b/challenge-084/adam-russell/blog.txt
new file mode 100644
index 0000000000..d5dd4113f7
--- /dev/null
+++ b/challenge-084/adam-russell/blog.txt
@@ -0,0 +1 @@
+http://www.rabbitfarm.com/cgi-bin/blosxom/2020/11/01#pwc084
diff --git a/challenge-084/adam-russell/perl/ch-1.pl b/challenge-084/adam-russell/perl/ch-1.pl
new file mode 100644
index 0000000000..271bad6883
--- /dev/null
+++ b/challenge-084/adam-russell/perl/ch-1.pl
@@ -0,0 +1,24 @@
+use strict;
+use warnings;
+##
+# You are given an integer $N.
+# Write a script to reverse the given integer and print the result.
+# Print 0 if the result doesn’t fit in 32-bit signed integer.
+##
+use Config;
+use boolean;
+use constant MAX_32BIT_SIGNED => 2_147_483_647;
+
+sub reverse_digits{
+ my($n) = @_;
+ return 0 if $n > MAX_32BIT_SIGNED || $n < -1*MAX_32BIT_SIGNED;
+ my $negative = $n < 0 ? true : false;
+ $n = abs($n) if $negative;
+ return join("", reverse split(//, $n)) if !$negative;
+ return "-" . join("", reverse split(//, $n));
+}
+
+MAIN:{
+ my $A = $ARGV[0];
+ print reverse_digits($A) . "\n";
+} \ No newline at end of file