codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
/* sum of primes less than two million */ #include <stdlib.h> #include <stdio.h> #include <string.h> #define ISBITSET(x, i) (( x[i>>3] & (1<<(i&7)) ) != 0) #define SETBIT(x, i) x[i>>3] |= (1<<(i&7)); #define CLEARBIT(x, i) x[i>>3] &= (1<<(i&7)) ^ 0xFF; long sumPrimes(long n) { char b[(n+1)/8+1]; int i, p; long sum = 0; memset(b, 255, sizeof(b)); for (p=2; p<=n; p++) { if (ISBITSET(b,p)) { sum += p; for (i=p; i<=n; i+=p) { CLEARBIT(b,i); } } } return sum; } void main(void) { printf("%ld", sumPrimes(2000000)); }
Private
[
?
]
Run code
Submit