Skip to content

Instantly share code, notes, and snippets.

@menjaraz
Last active September 28, 2024 17:33
Show Gist options
  • Save menjaraz/a7a458abfdba36277f091225cd9a579f to your computer and use it in GitHub Desktop.
Save menjaraz/a7a458abfdba36277f091225cd9a579f to your computer and use it in GitHub Desktop.
Project Euler Problem 10 - Summation of Primes
// Summation of Primes
// https://projecteuler.net/problem=10
void main() {
final timer = Stopwatch()..start();
final answer = summationOfPrimesBelow(2000000);
timer.stop();
print('\nProject Euler #10\nAnswer: $answer');
print('Elapsed time: ${timer.elapsedMilliseconds} milliseconds.\n');
}
int summationOfPrimesBelow(int limit) {
int sum = 0;
for (int prime in primeGenerator().takeWhile((prime) => prime < 2000000)) {
sum += prime;
}
return sum;
}
Iterable<int> primeGenerator() sync* {
yield 2;
yield 3;
var number = 3;
while (true) {
number += 2;
var isPrime = true;
for (var i = 2; i * i <= number; i++) {
if (number % i == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
yield number;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment