Sha256: 6820adc69278f2e0c8bbd7fa598984174afce2b05decfd9c8702fb3b470013b5
Contents?: true
Size: 1005 Bytes
Versions: 255
Compression:
Stored size: 1005 Bytes
Contents
'use strict'; module.exports = { nth: function(nthPrime) { if (nthPrime === 0) { throw new Error('Prime is not possible'); } this.generatePrimes(200000); return this.realPrimes[nthPrime - 1]; }, generatePrimes: function(uptoNumber) { var i, j, currentPrime, primeCount, possiblePrimes = []; if (this.realPrimes) { return this.realPrimes; } for (i = 2; i <= uptoNumber; i++) { possiblePrimes.push({ number: i, prime: true}); } for (i = 2; i < Math.sqrt(possiblePrimes.length); i++) { for (j = 0; j < possiblePrimes.length; j++) { currentPrime = possiblePrimes[j]; if (currentPrime.number !== i && currentPrime.number % i === 0) { currentPrime.prime = false; } } } primeCount = 0; this.realPrimes = []; for (i = 0; i < possiblePrimes.length; i++) { currentPrime = possiblePrimes[i]; if (currentPrime.prime) { this.realPrimes.push(currentPrime.number); } } } };
Version data entries
255 entries across 255 versions & 1 rubygems