Project Euler
by ambient
HTML
<script src="https://raw.github.com/kaleb/js-op/master/op.js"></script>
<script src="http://fitzgen.github.com/wu.js/lib/wu.js"></script>
JavaScript
console.log(wu.range(1,1000)
.filter(function(x){
return !(x % 3) || !(x % 5);
}).reduce(op.add)
);
//-------------------------------------------------
var fib = wu.memoize(function fib(n) {
return n <= 1? 1: fib(n-2) + fib(n-1);
});
function Fib() {
var i = 1;
return function() {
return fib(i++);
};
}
console.log(wu.Iterator(Fib())
.filter(function(x){return !(x % 2)})
.takeWhile(wu.curry(op.ge,4000000))
.reduce(op.add)
);
//----------------------------------------------------
function greatest_prime_factor(n) {
var divisor = 2;
while (n > 1) {
if (!(n % divisor)) {
n /= divisor;
divisor -= 1;
}
divisor += 1;
}
return divisor;
}
console.log(greatest_prime_factor(13195));