aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-170/james-smith/perl/ch-1.pl10
1 files changed, 4 insertions, 6 deletions
diff --git a/challenge-170/james-smith/perl/ch-1.pl b/challenge-170/james-smith/perl/ch-1.pl
index 5a2bc9c4ea..c1592956e2 100644
--- a/challenge-170/james-smith/perl/ch-1.pl
+++ b/challenge-170/james-smith/perl/ch-1.pl
@@ -6,15 +6,13 @@ use warnings;
use feature qw(say);
use Test::More;
use Benchmark qw(cmpthese timethis);
-use Math::Prime::Util qw(next_prime);
+use Math::Prime::Util qw(nth_prime forprimes);
use Data::Dumper qw(Dumper);
-use bigint;
+use bignum;
-my(@x)= my $p = 1;
+my @x = (1); forprimes { push @x, $x[-1] * $_ } nth_prime ($ARGV[0]//10);
-push @x, $x[-1] * ($p = next_prime $p) for 1..100;
-
-say sprintf '%300s', th($_) for @x;
+say sprintf '%'.int(2+4/3*log($x[-1])/log 10).'s', th($_) for @x;
sub th { scalar reverse( (reverse $_[0]) =~ s/(\d\d\d)(?=\d)(?!\d*\.)/$1,/gr ) }