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
}