Advertisement
Guest User

Untitled

a guest
Nov 19th, 2017
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.52 KB | None | 0 0
  1. void runEratosthenesSieve(int upperBound) {
  2. int upperBoundSquareRoot = (int)sqrt((double)upperBound);
  3. bool *isComposite = new bool[upperBound + 1];
  4. memset(isComposite, 0, sizeof(bool) * (upperBound + 1));
  5. for (int m = 2; m <= upperBoundSquareRoot; m++) {
  6. if (!isComposite[m]) {
  7. cout << m << " ";
  8. for (int k = m * m; k <= upperBound; k += m)
  9. isComposite[k] = true;
  10. }
  11. }
  12. for (int m = upperBoundSquareRoot; m <= upperBound; m++)
  13. if (!isComposite[m])
  14. cout << m << " ";
  15. delete[] isComposite;
  16. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement