JSFiddle - React, Tailwind, and code Playground
by Lysander
JavaScript
var primes = [2],
primes_found = 1;
function append_prime(p) {
primes[primes_found] = p;
primes_found += 1;
}
function is_prime(x) {
var x_is_prime = true;
for (var j = 0; j < primes_found; j++) {
if (x % primes[j] == 0) {
x_is_prime = false;
break;
}
}
return x_is_prime;
}
function find_next_prime() {
var last_found_prime = primes[primes_found - 1],
i;
for (i = last_found_prime + 1; true; i++) {
if (is_prime(i)) break;
}
append_prime(i);
return i;
}
function is_factor(x, n) {
return x % n == 0;
}
var n = 543212345;
var factors = [];
for (var p = primes[0]; n != 1; p = find_next_prime()) {
while(is_factor(n, p)) {
n = n / p;
factors.push(p);
}
}
console.log(factors);