Created
March 14, 2017 14:35
-
-
Save Woodsphreaker/e81e068caee110e821c4c9b375a76ddd to your computer and use it in GitHub Desktop.
Dado um número aleatório, retornar todos os números PRIMOS entre 0 e o número escolhido
Em ES6:
const sieveOfEratosthenes = ( n ) => {
var upperBound = Math.sqrt( n )
var primeNumbers = [ ...Array(n + 1).keys() ]
for ( let i = 2; i < upperBound; i++ ) {
for ( let j = i * 2; j <= n; j += i ) {
delete primeNumbers[ j ]
}
}
return Object.keys( primeNumbers ).splice( 2 ) .map( x => parseInt( x ) )
}
var primos = [];
var gravado = [];
var number = 50; // número desejado aqui
primos.push(1);
for(var i = 0; i < number + 1; i++){
gravado = [];
for(var j = 1; j <= i; j++){
i % j == 0 ? gravado.push(j) : total = 1;
}
gravado.length == 2 ? primos.push(i) : total = 1;
}
console.log(primos);
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes