aboutsummaryrefslogtreecommitdiff
path: root/challenge-085
diff options
context:
space:
mode:
authorE. Choroba <choroba@matfyz.cz>2020-11-11 08:00:21 +0100
committerE. Choroba <choroba@matfyz.cz>2020-11-11 08:00:21 +0100
commit1f470077b015c009285c06dda7ab9ef7fbed6b73 (patch)
treedff09d94eb80a37bf52a943f51c307f10e5fd6ec /challenge-085
parentdb2a0707fd85612be2036e5843a91687727ac034 (diff)
downloadperlweeklychallenge-club-1f470077b015c009285c06dda7ab9ef7fbed6b73.tar.gz
perlweeklychallenge-club-1f470077b015c009285c06dda7ab9ef7fbed6b73.tar.bz2
perlweeklychallenge-club-1f470077b015c009285c06dda7ab9ef7fbed6b73.zip
Fixed error in 085/2
Thanks to Colin Crain.
Diffstat (limited to 'challenge-085')
-rwxr-xr-xchallenge-085/e-choroba/perl/ch-2.pl10
1 files changed, 6 insertions, 4 deletions
diff --git a/challenge-085/e-choroba/perl/ch-2.pl b/challenge-085/e-choroba/perl/ch-2.pl
index ee64b64f1c..3d16b4f68d 100755
--- a/challenge-085/e-choroba/perl/ch-2.pl
+++ b/challenge-085/e-choroba/perl/ch-2.pl
@@ -7,17 +7,19 @@ sub power_of_two_integers {
for my $d (2 .. sqrt $n) {
next unless $n % $d == 0;
- $n /= $d while $n % $d == 0;
- last
+ my $m = $n;
+ $m /= $d while $m % $d == 0;
+ return 1 if $m == 1;
}
- return $n == 1 ? 1 : 0
+ return 0
}
-use Test::More tests => 6;
+use Test::More tests => 7;
is power_of_two_integers(8), 1, 'Example 1';
is power_of_two_integers(15), 0, 'Example 2';
is power_of_two_integers(125), 1, 'Example 3';
+is power_of_two_integers(36), 1, 'Collin';
is power_of_two_integers(43), 0, 'Prime';
is power_of_two_integers(987654323), 0, 'Large prime';
is power_of_two_integers(51185893014090757), 1, 'Large PoTI';