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

Version Path
trackler-2.2.1.37 tracks/javascript/exercises/nth-prime/example.js
trackler-2.2.1.36 tracks/javascript/exercises/nth-prime/example.js
trackler-2.2.1.35 tracks/javascript/exercises/nth-prime/example.js
trackler-2.2.1.34 tracks/javascript/exercises/nth-prime/example.js
trackler-2.2.1.33 tracks/javascript/exercises/nth-prime/example.js
trackler-2.2.1.32 tracks/javascript/exercises/nth-prime/example.js
trackler-2.2.1.31 tracks/javascript/exercises/nth-prime/example.js
trackler-2.2.1.30 tracks/javascript/exercises/nth-prime/example.js
trackler-2.2.1.29 tracks/javascript/exercises/nth-prime/example.js
trackler-2.2.1.28 tracks/javascript/exercises/nth-prime/example.js
trackler-2.2.1.27 tracks/javascript/exercises/nth-prime/example.js
trackler-2.2.1.26 tracks/javascript/exercises/nth-prime/example.js
trackler-2.2.1.25 tracks/javascript/exercises/nth-prime/example.js
trackler-2.2.1.24 tracks/javascript/exercises/nth-prime/example.js
trackler-2.2.1.23 tracks/javascript/exercises/nth-prime/example.js
trackler-2.2.1.22 tracks/javascript/exercises/nth-prime/example.js
trackler-2.2.1.21 tracks/javascript/exercises/nth-prime/example.js
trackler-2.2.1.20 tracks/javascript/exercises/nth-prime/example.js
trackler-2.2.1.19 tracks/javascript/exercises/nth-prime/example.js
trackler-2.2.1.18 tracks/javascript/exercises/nth-prime/example.js