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
}