Advertisement
Guest User

Untitled

a guest
Jul 18th, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. function crossOff(flags, prime){
  2.  
  3. for (var i = prime * prime; i < flags.length; i += prime){
  4. flags[i] = false;
  5. }
  6. }
  7.  
  8. function getNextPrime(flags, prime){
  9.  
  10. var next = prime + 1;
  11. while (next < flags.length && !flags[next]){
  12. next ++;
  13. }
  14. return next;
  15. }
  16.  
  17. function init(flags){
  18.  
  19. flags[0] = false;
  20. flags[1] = false;
  21. for (var i = 2; i < flags.length; i ++){
  22. flags[i] = true
  23. }
  24. }
  25.  
  26. //sieveOfEratosthenes method
  27. function getPrimes(){
  28.  
  29. var max = parseInt(document.getElementById('to_range').value, 10);
  30. var min = parseInt(document.getElementById('from_range').value, 10);
  31.  
  32. if (max < min){
  33. tempo.innerHTML = '';
  34. var errorMsg = document.createElement("p");
  35. errorMsg.style.color = 'red';
  36. tempo.appendChild(errorMsg).appendChild(
  37. document.createTextNode('Invalid Range'));
  38. return;
  39. }
  40.  
  41. var flags = new Array(max+1);
  42. var count = 0;
  43.  
  44. init(flags);
  45. var prime = 2;
  46.  
  47. while (prime <= Math.sqrt(max)){
  48.  
  49. crossOff(flags, prime);
  50. prime = getNextPrime (flags, prime);
  51. }
  52.  
  53. return flags;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement