in reply to Perl vs. Python for prime numbers
not the shortest one... :-)
EDIT: but it does hold the loop to sqrt of $last...
#!/usr/bin/perl use warnings; use strict; use feature qw(say); my $last = 1000; my @num = (2..$last); for my $i (@num) { $num[$i] = 1; } for (my $i=2; $i*$i <= $last; $i++) { if ($num[$i]) { for (my $j=$i; $j*$i < $last; $j++) { $num[$i * $j] = 0; } } } my @prime = (); for (my $i=2; $i<=$last; $i++) { if ($num[$i]) { push @prime, $i; } } say "@prime";
|
---|