diff options
| author | Luis Mochan <mochan@fis.unam.mx> | 2022-01-12 09:40:52 -0600 |
|---|---|---|
| committer | Luis Mochan <mochan@fis.unam.mx> | 2022-01-12 09:40:52 -0600 |
| commit | b6ae9e152d2745837702f9c9ee3e701f499d5f8e (patch) | |
| tree | d1ca41b9351a1ab14bdc2b07e87a0dfc046228fa | |
| parent | 278ed0eb1397c82b293f5c28fefbc449588ee678 (diff) | |
| download | perlweeklychallenge-club-b6ae9e152d2745837702f9c9ee3e701f499d5f8e.tar.gz perlweeklychallenge-club-b6ae9e152d2745837702f9c9ee3e701f499d5f8e.tar.bz2 perlweeklychallenge-club-b6ae9e152d2745837702f9c9ee3e701f499d5f8e.zip | |
Change bigint to integer, and use explicit floor
| -rwxr-xr-x | challenge-147/wlmb/perl/ch-2.pl | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/challenge-147/wlmb/perl/ch-2.pl b/challenge-147/wlmb/perl/ch-2.pl index 88eecdda76..f2edfb1a85 100755 --- a/challenge-147/wlmb/perl/ch-2.pl +++ b/challenge-147/wlmb/perl/ch-2.pl @@ -5,12 +5,13 @@ # See https://wlmb.github.io/2022/01/10/PWC147/#task-2-pentagon-numbers use v5.12; use warnings; -use bigint; +use POSIX qw(floor); use Time::HiRes qw(time); die "Usage: ./ch-2.pl largest_index\n" unless @ARGV==1; my $N=shift; my $start=time(); +use integer; J: foreach my $j(2..$N){ my $p=$j*(3*$j-1)/2; @@ -21,10 +22,12 @@ J: last J if pentagonal($q+$p) && pentagonal($p-$q); } } +no integer; # don't truncate time say "Time: ", time()-$start; +use integer; sub pentagonal { my $p=24*shift()+1; - my $s=sqrt($p); + my $s=floor(sqrt($p)); return $s**2==$p && $s%6==5; } sub index_of { |
