Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- // The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.
- // Find the sum of all the primes below two million.
- int main() {
- long long sum = 0;
- int primesCount = 0;
- int primes[10000] = {0};
- int i = 2;
- while(i < 2000000) {
- if(isPrime(i, primesCount, primes) == 1) {
- if(primesCount < 10000) {
- primes[primesCount] = i;
- }
- sum += i;
- primesCount++;
- }
- if(i == 2) {
- i = 3;
- } else {
- i = i + 2;
- }
- }
- printf("%d primes sum: '%lld'\n\n", primesCount, sum);
- return 1;
- }
- int isPrime(int number, int primesCount, int *primes) {
- int i;
- for(i = 0; i < primesCount; i++) {
- if(primes[i] != 0) {
- if(number % primes[i] == 0 && number != primes[i]) {
- return 0;
- }
- } else {
- break;
- }
- }
- for(i = 3; i < (int)sqrt(number) + 1; i = i + 2) {
- if(number % i == 0 && i != number) {
- return 0;
- }
- }
- return 1;
- };
Add Comment
Please, Sign In to add comment