Euler Problem 25

by Andrew Poes

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;
}
}

input {
    padding: 20px;
}
}

JavaScript

$(document).ready(function() {
    print(fibonacci());
});

function fibonacci() {
    var p = [1];
    var c = [1];
    var i = 0;
    while(c.length < 1000){
        var s = addArrays(p,c);
        p = c;
        c = s;
        ++i;
    }
    return i;
}

function addArrays(a, b) {
    var carry = 0;
    var sum = [];
    for (var i = 0; i < Math.max(a.length, b.length); ++i) {
        var digit_a = (i<a.length)?a[i]:0;
        var digit_b = (i<b.length)?b[i]:0;
        var s = digit_a + digit_b;
        var digit = s%10;
        carry = (s/10)<<0;
        sum[i] = digit;
    }
    while(carry>0) {
        sum.push(carry%10);
        carry = (carry/10)<<0;
    }
    return sum;
}

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
}