Skip to content

Instantly share code, notes, and snippets.

@brunoV
Created November 24, 2009 15:58
#!/usr/bin/env perl
use Modern::Perl;
sub is_prime {
my $n = shift;
$n <= 1 and return;
my $i = 1;
while (++$i**2 <= $n) {
return 0 if not $n % $i;
}
return 1;
}
sub primes {
my $i = 1;
return sub {
do { ++$i } until ( is_prime($i) );
return $i;
}
}
my $prime_stream = primes();
my $prime = $prime_stream->();
my $sum = 0;
while ( $prime < 2_000_000) {
$sum += $prime;
$prime = $prime_stream->();
}
say $sum;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment