sod cache

by krustnic

JavaScript

const cache = {}

function sod(n) {
  let s = 0
  for(let i=n - 1; i>=2; i--) {    
    if (n % i === 0) {
    	if (i in cache ) return cache[i] + s
      s += i
    }
  }
  
  return s
}

function newFunction(n){
  let s = 0
  for(let i=1; i<=n; i++) {
    cache[i] = sod(i)
    console.log(cache)
    s += cache[i]
  }
  
  return s
}

console.log(newFunction(12))