JSFiddle - React, Tailwind, and code Playground
by Andrew Poes
HTML
<!-- Euler Problem 3
The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number 600851475143 ? -->
CSS
.print {
position: relative;
display: inline-block;
background-color: black;
color: white;
font-family: Helvetica, Helvetica-Neue, sans-serif;
font-weight: bold;
font-size: 24px;
letter-spacing: -1.5px;
padding: 4px 8px;
}
body {
background-color: #eeeeee;
}
}
JavaScript
$(document).ready(function() {
var target = 600851475143
var running = target
var primes = []
var done = false
var success = false;
var i = 0;
var ittermax = 9000000;
while (!done) {
++i;
if (isPrime(i)) {
if ((running/i)%1 == 0) {
running = running / i;
primes.push(i);
print(str(i), str(running))
if (running == 1) {
done = true;
break
}
}
}
if (i == ittermax) {
i = 0;
}
}
var largest = 0;
for (var i = 0; i < primes.length; ++i) {
if (largest < primes[i]) {
largest = primes[i];
}
}
print("largest = " + largest);
})
function isPrime(num) {
if (num < 2) {
return false
}
// Prime numbers other than two are odd...
if (num == 2) {
return true
}
else if (num%2 == 0) {
return false
}
// Check it isn't divisible by up to its square root
// (consider n=(root n)(root n) as factors)
for (var i = 3; i <= Math.sqrt(num); ++i) {
if (num%i == 0) {
return false
}
}
return true
}
function str(num) {
return num.toString()
}
function print() {
var args = Array.prototype.slice.apply(arguments)
var str = ""
for (arg of args) {
str += arg + ", "
}
str = str.substring(0, str.length - 2)
var el = newel(str)
$("body").append(el)
$("body").append("</br>")
}
function newel(str) {
var el = document.createElement("div")
$(el).html(str)
$(el).addClass("print")
return el
}