Euler 1 and 2

Solution to Project Euler 1 and 2

by bshourd

JavaScript

/*
 * http://projecteuler.net/problem=1
 * If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
 * Find the sum of all the multiples of 3 or 5 below 1000.
*/
var euler1 = function(div1, div2, highest) {
    var sum = 0;
    for (var i = 1; i < highest; i++) {
        if ((i % div1 === 0) || (i % div2) === 0) {
            sum += i;
        }
    }
    return sum;
};
console.log(euler1(3,5,1000));

/*
 * http://projecteuler.net/problem=2
 * Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:
 * 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
 * By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms.
*/
var euler2 = function(max) {
    var isEven = function(num) {
        return (num % 2 === 0);
    };
    var fib = {
        a : 1,
        b : 2,
        c : 3
    };
    var nextFib = function() {
        var a = fib.b;
        var b = fib.c;
        fib.a = a
        fib.b = b
        fib.c = a + b;
    };
    var sum = 2;
    while (fib.c < max) {
        if (isEven(fib.c)) {
            sum += fib.c;
        }
        nextFib();
    }
    return sum;
};

console.log(euler2(4000000));