JSFiddle - React, Tailwind, and code Playground

by fosco

JavaScript

function new1(number) {
    var array = [], s = 6;
    while (number > 1 && number % 2 === 0) {
        number /= 2;
        array.push(2);
    }
    while (number > 2 && number % 3 === 0) {
        number /= 3;
        array.push(3);
    }
    // Remarking that: https://primes.utm.edu/notes/faq/six.html
    while (number > 4) {
        var p = s - 1, q = s + 1;
        while (number > 4 && number % p === 0) {
            number /= p;
            array.push(p);
        }
        while (number > 4 && number % q === 0) {
            number /= q;
            array.push(q);
        }
        s += 6;
    }
    return array;
  };



function classic(number) {
    var div = 2;
    var array = [];

    while (number > 1) {
      if (number % div === 0) {
        number /= div;

        array.push(div);
      } else {
        div += 1;
      }
    }

    return array;
  }

console.log('with console.log run----')
console.time('new1');
console.log(new1(600851475143));
console.timeEnd('new1');

console.time('classic');
console.log(classic(600851475143));
console.timeEnd('classic');

console.log('without run----')
console.time('new1');
new1(600851475143);
console.timeEnd('new1');

console.time('classic');
classic(600851475143);
console.timeEnd('classic');