Skip to content

Instantly share code, notes, and snippets.

@egeozcan
Created February 10, 2012 10:54

Revisions

  1. egeozcan revised this gist Mar 12, 2012. 1 changed file with 25 additions and 25 deletions.
    50 changes: 25 additions & 25 deletions solution.js
    Original file line number Diff line number Diff line change
    @@ -1,32 +1,32 @@
    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)
    (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])
    }
    if(primes.hasOwnProperty(prime)) {
    result = result * Math.pow(prime,primes[prime])
    }
    }
    console.log(result);
  2. egeozcan created this gist Feb 10, 2012.
    32 changes: 32 additions & 0 deletions solution.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,32 @@
    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);