Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function crossOff(flags, prime){
- for (var i = prime * prime; i < flags.length; i += prime){
- flags[i] = false;
- }
- }
- function getNextPrime(flags, prime){
- var next = prime + 1;
- while (next < flags.length && !flags[next]){
- next ++;
- }
- return next;
- }
- function init(flags){
- flags[0] = false;
- flags[1] = false;
- for (var i = 2; i < flags.length; i ++){
- flags[i] = true
- }
- }
- //sieveOfEratosthenes method
- function getPrimes(){
- var max = parseInt(document.getElementById('to_range').value, 10);
- var min = parseInt(document.getElementById('from_range').value, 10);
- if (max < min){
- tempo.innerHTML = '';
- var errorMsg = document.createElement("p");
- errorMsg.style.color = 'red';
- tempo.appendChild(errorMsg).appendChild(
- document.createTextNode('Invalid Range'));
- return;
- }
- var flags = new Array(max+1);
- var count = 0;
- init(flags);
- var prime = 2;
- while (prime <= Math.sqrt(max)){
- crossOff(flags, prime);
- prime = getNextPrime (flags, prime);
- }
- return flags;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement