Nodejs Number Prime Number Check primeFactors()

Here you can find the source of primeFactors()

Method Source Code

"use strict";//from w  w  w.  ja  v  a  2s  .  com

var i, primeFactorLists;

Number.prototype.primeFactors = function() {
  var v, i;

  v = null;

  for (i = 2; i < this - 1; i += 1) {
    if (this % i === 0) {
      v = i;

      break;
    }
  }

  if (v) {
    return [v].concat(Math.floor(this / v).primeFactors());
  } else {
    return [this];
  }
};

Array.prototype.overlap = function(other) {
  this.forEach(function(element) {
    var index;

    index = other.indexOf(element);

    if (index !== -1) {
      other = other.slice(0, index).concat(other.slice(index + 1));
    }
  });

  return other.concat(this).sort(function(x, y) {
    return x < y;
  });
};

primeFactorLists = [];

for (i = 1; i <= 20; i += 1) {
  primeFactorLists.push(i.primeFactors());
}

console.log(primeFactorLists.reduce(function(previousValue, currentValue) {
  return previousValue.overlap(currentValue);
}).reduce(function(previousValue, currentValue) {
  return previousValue * currentValue;
}));

Related

  1. primeFactorization()
    Number.prototype.primeFactorization = function (){
        console.log("prime aangekomen");
        var ans = [];
        var primes = [];
        var temp = this;
        for(let i = 2; i<temp/2; i++){
            if(i.divisors().length == 2){
                primes.push(i);
        for (let i =0; i<primes.length; i++){
                while(temp.isDivisor(primes[i])){
                    ans.push(primes[i]);
                    temp = temp/primes[i];
        return ans;
    };
    
  2. primeFactorization()
    Number.prototype.primeFactorization = function () {
        "use strict";
        var ans = [];
        var primes = [];
        var temp = this;
        for (let i = 2; i <= this / 2; i += 1) {
            if (i.divisors().length == 2) {
                primes.push(i);
        for (let i = 0; i < primes.length; i += 1) {
            while (temp.isDivisor(primes[i])) {
                ans.push(primes[i]);
                temp = temp / primes[i];
        return ans;
    };
    
  3. primeFactors()
    "use strict";
    Number.prototype.primeFactors = function() {
      var v, i;
      v = null;
      for (i = 2; i < this - 1; i += 1) {
        if (this % i === 0) {
          v = i;
          break;
      if (v) {
        return [v].concat(Math.floor(this / v).primeFactors());
      } else {
        return [this];
    };
    console.log(Math.max.apply(null, (600851475143).primeFactors()));
    
  4. primeFactors()
    "use strict";
    var i, j, triangleNumber;
    Number.prototype.primeFactors = function() {
      var v, i;
      v = null;
      for (i = 2; i < this - 1; i += 1) {
        if (this % i === 0) {
          v = i;
          break;
    ...
    
  5. primeFactors()
    Number.prototype.primeFactors = function() {
      var number = this.valueOf();
      var primeFactors = [];
      isPrime = function(primeCandidate) {
        var p = 2;
        var top = Math.floor(Math.sqrt(primeCandidate));
        while(p<=top){
          if(primeCandidate%p === 0){ return false; }
          p++;
    ...
    
  6. sumPrimes(num)
    function sumPrimes(num) {
      var primes = [];
      for (var i = 2; i <= num; i++) {
        var notPrime = false;
        for (var current = 2; current <= (i - 1); current++) {
            if (i % current === 0) {
              notPrime = true;
        if (notPrime === false) 
          primes.push(i);
      var sum = primes.reduce(function(pv, cv) { 
                  return pv + cv;
                });
      return sum;
    sumPrimes(10);
    
  7. sumPrimes(num)
    function sumPrimes(num) {
      function isPrime(number) {
        for (var i = 2; i < number; i++) {
          if (number % i === 0) {
            return false;
        return true;
      var sum = 0;
      for (var j = 2; j <= num; j++) {
        if (isPrime(j)) {
          sum += j;
      return sum;
    sumPrimes(10);