JSFiddle - React, Tailwind, and code Playground

by Ersin Bilgin

HTML

<div id="result"></div>

JavaScript

var primeNumbers = [2];
var primeMaxNumber = 10001;
var targetNumber = 600851475143;

function getPrimes ( num ) {
    
    try {
        
        for ( var i = 0; i < primeNumbers.length; i++) {

            if ( num % primeNumbers[i] == 0 ) {
                break;
            }

            if ( i == primeNumbers.length - 1)
                primeNumbers.push( num );

        }

        if ( primeNumbers.length == primeMaxNumber )
            return projectEulerQuestion3();

        return getPrimes( num + primeNumbers[0] );
        
    } catch (err) {
        
        setTimeout( function() {
            
            return getPrimes( num + primeNumbers[0] );
            
        },0 );
        
	}
    
}

getPrimes(3);

var ekok = [];

var projectEulerQuestion3 = function () {
    
    for ( var i = 0; i < primeNumbers.length; i++ ) {
        
        if ( targetNumber % primeNumbers[i] == 0 ) {
            
            ekok.push( primeNumbers[i] );
            
        }
        
    }
    
    document.getElementById("result").innerHTML = ekok.join(", ");
    
}