JSFiddle - React, Tailwind, and code Playground
by samselikoff
HTML
<!doctype html>
<html>
<head>
</head>
<body>
<input id="poopify" type="button" onclick="poopify()" value="Poopify">
<p id="answer">A normal paragraph.</p>
</body>
</html>
JavaScript
//The prime factors of 13195 are 5, 7, 13 and 29.
//What is the largest prime factor of the number 600851475143?
function largestPrimeFactor(number) {
var originalNumber = number;
var primeFactors = new Array();
largest1:
//i is a prime factor of 'number' if it (a) divides 'number' and (b) isn't divisible by any smaller prime factors
for (i=2; i<=number; i++) {
//check if i divides 'number'
if (number % i != 0) {
continue; //i does not divide 'number'. continue
};
//i dividies number. check if i is prime
//if first prime factor, check if prime manually
if (primeFactors.length == 0) {
if (i==2) {
} else {
for (j=2;j<i;j++) {
if (i % j == 0) {
continue largest1; //i is composite. move to next i.
}
}
}
} else {
//if not first prime factor, can just check if i is divisible by any smaller prime factors
for (j=0; j<primeFactors.length; j++) {
if (i % primeFactors[j] == 0) {
continue largest1; //i is composite. move to next i.
};
}
};
//i is a prime factor. add it to array.
primeFactors.push(i);
//divide the number by the prime factor as long as the remainder is 0
do {
number = number / i;
} while (number % i == 0);
}
//var myElement = document.getElementById("answer");
if (primeFactors.length == 1) {
return "The prime factor of " + originalNumber + " is " + primeFactors.join(", ") + ".";
} else {
return "The prime factors of " + originalNumber + " are: " + primeFactors.join(", ") + ".";
}
};
//alert(largestPrimeFactor(123));
function poopify() {
...