diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-11-03 06:38:03 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-11-03 06:38:03 +0000 |
| commit | 8e323f8aaedc7c5392eb83b7824ca282b786ddf5 (patch) | |
| tree | 57e86871a492f79704b53299ec8236b744c90232 | |
| parent | 2084d3622843b3eaab84baf933e24eea5ad1c813 (diff) | |
| parent | 477911d1172536cb4c4351f363936f8dc1870e29 (diff) | |
| download | perlweeklychallenge-club-8e323f8aaedc7c5392eb83b7824ca282b786ddf5.tar.gz perlweeklychallenge-club-8e323f8aaedc7c5392eb83b7824ca282b786ddf5.tar.bz2 perlweeklychallenge-club-8e323f8aaedc7c5392eb83b7824ca282b786ddf5.zip | |
Merge pull request #5151 from oWnOIzRi/week137
add solution week 137 task 2 in perl
| -rw-r--r-- | challenge-137/steven-wilson/perl/ch-2.pl | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/challenge-137/steven-wilson/perl/ch-2.pl b/challenge-137/steven-wilson/perl/ch-2.pl new file mode 100644 index 0000000000..67ff2d8919 --- /dev/null +++ b/challenge-137/steven-wilson/perl/ch-2.pl @@ -0,0 +1,32 @@ +#!/usr/bin/env perl +# Week 135 Task 2 +# Lychrel Number + +use strict; +use warnings; +use Test::More; + +ok( is_lychrel_number(56) == 0, "Test 56" ); +ok( is_lychrel_number(57) == 0, "Test 57" ); +ok( is_lychrel_number(59) == 0, "Test 59" ); +ok( is_lychrel_number(196) == 1, "Test 196" ); +done_testing(); + +sub is_lychrel_number { + my $number = shift; + my $max_iter = 500; + my $max_number = 10_000_000; + my $iter = 0; + my $is_lychrel_number = 1; + ( $number >= 10 && $number <= 1000 ) + or die "Number must be be between 10 an 1000\n"; + while ( $iter < $max_iter && $number < $max_number ) { + $number += reverse $number; + if ( $number == reverse $number ) { + $is_lychrel_number = 0; + last; + } + $iter++; + } + return $is_lychrel_number; +} |
