Skip to content

Instantly share code, notes, and snippets.

@egeozcan
Created February 10, 2012 10:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save egeozcan/1788752 to your computer and use it in GitHub Desktop.
Save egeozcan/1788752 to your computer and use it in GitHub Desktop.
Project Euler Problem 5 - JavaScript Solution
var from = 1, target = 20, primes = {}, result = 1;
for(var divider = from; divider <= target; divider++) {
(function(newTarget) {
var i = 2, dividersPrimes = {};
while(i <= newTarget) {
while(newTarget % i === 0) {
newTarget = newTarget / i;
if(!dividersPrimes[i]) {
dividersPrimes[i] = 1;
}
else {
dividersPrimes[i]++;
}
}
i++;
}
for(var prime in dividersPrimes) {
if(dividersPrimes.hasOwnProperty(prime)
&& (!primes[prime]
|| primes[prime] < dividersPrimes[prime])) {
primes[prime] = dividersPrimes[prime];
}
}
})(divider)
}
for(var prime in primes) {
if(primes.hasOwnProperty(prime)) {
result = result * Math.pow(prime,primes[prime])
}
}
console.log(result);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment