diff options
| author | E. Choroba <choroba@matfyz.cz> | 2020-11-11 08:00:21 +0100 |
|---|---|---|
| committer | E. Choroba <choroba@matfyz.cz> | 2020-11-11 08:00:21 +0100 |
| commit | 1f470077b015c009285c06dda7ab9ef7fbed6b73 (patch) | |
| tree | dff09d94eb80a37bf52a943f51c307f10e5fd6ec /challenge-085 | |
| parent | db2a0707fd85612be2036e5843a91687727ac034 (diff) | |
| download | perlweeklychallenge-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-x | challenge-085/e-choroba/perl/ch-2.pl | 10 |
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'; |
