JSFiddle - React, Tailwind, and code Playground
by BurpmanJunior
HTML
<div id="output">
</div>
JavaScript
// FACTORS AND PRIMES
console.clear();
// PRIMES
function isPrime_regex(n){
return Array(n + 1).join('1').match(/^.?$|^(..+?)\1+$/) === null;
}
function isPrime_loop(n){
for(var i = 2; i < n; i++){
if(n % i === 0){ return false; }
}
return n > 1;
}
console.log('isPrime_regex(1)', isPrime_regex(1));
console.log('isPrime_regex(12)', isPrime_regex(12));
console.log('isPrime_regex(5)', isPrime_regex(5));
console.log('isPrime_loop(1)', isPrime_loop(1));
console.log('isPrime_loop(12)', isPrime_loop(12));
console.log('isPrime_loop(5)', isPrime_loop(5));
// FACTORS
function factors(n, unique_pairs){
var s = [],
o = [];
for(i = 1; i <= n; i++){
if(n % i === 0){
if(
(unique_pairs && s.indexOf(i) === -1 && s.indexOf(n / i) === -1) ||
!unique_pairs
){
s[s.length] = i;
o[o.length] = [i, (n / i)];
}
}
}
return o;
}
var f = factors(792, true),
e = document.getElementById('output');
f.forEach(function(n){
//e.innerHTML += n[0] + '<br />';
console.log('factors(792, true)', n.join(' x '));
e.innerHTML += n.join(' x ') + ' = ' + (n[0] * n[1]) + '<br />';
});
// Euclidean Algorithm
function highestCommonFactor(a, b){
var c = a % b,
i = 0,
r = 1;
while(c !== 0 && i < 50){
c = a % b;
a = b;
b = c;
r = c || r;
i++;
}
return r;
}
console.log('highestCommonFactor(1112, 695)', highestCommonFactor(1112, 695));