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');