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