Euler Problem 12
Base fiddle for solving euler problems
by Andrew Poes
HTML
<!-- The sequence of triangle numbers is generated by adding the natural numbers. So the 7th triangle number would be 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28. The first ten terms would be:
1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ...
Let us list the factors of the first seven triangle numbers:
1: 1
3: 1,3
6: 1,2,3,6
10: 1,2,5,10
15: 1,3,5,15
21: 1,3,7,21
28: 1,2,4,7,14,28
We can see that 28 is the first triangle number to have over five divisors.
What is the value of the first triangle number to have over five hundred divisors? -->
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 m, i = 2, prev = 1
var maxFactors = 0
while (maxFactors < 500) {
m = prev + i
prev = m
var nod = factorsOf(m)
if (nod > maxFactors) {
maxFactors = nod
}
++i
}
print(m, maxFactors)
})
function sum(a) {
var s = 0;
for (i of a) {
s += i
}
return s
}
function factorsOf(a) {
var nods = 0
var e = Math.sqrt(a)
for (var i = 0; i <= e; ++i) {
if ((a/i)%1 == 0) {
nods += 2
}
}
return nods
}
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
}