5) Smallest multiple
2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any remainder. What is the smallest positive number that is evenly divisible by all of the numbers from 1 to 20?
by fosco
JavaScript
// for number 24 primes are: 2 * 2 * 2 * 3 and function will return ['2' : 3, '3' : 1]
function primeFactor(number, div, arr) {
div = div || 2;
arr = arr || [];
if (number % div === 0) {
number /= div;
var divStr = div.toString();
if (arr[divStr] === undefined) {
arr[divStr] = 1;
} else {
++arr[divStr];
}
if (number == 1) {
return arr;
}
} else {
++div;
}
return primeFactor(number, div, arr);
}
var set = [];
for (var i = 2; i <= 20; i++) {
var primeArray = primeFactor(i);
primeArray.forEach(function (val, key) {
if (set[key] === undefined || set[key] < val) {
set[key] = val;
}
});
}
var value = 1;
set.forEach(function (val, key) {
value *= Math.pow(parseInt(key, 10), val);
});
console.log(value); //232792560