DEV Community

loading...

Discussion on: Daily Challenge #225 - Square'n'Sum

Collapse
youssefrabeiii profile image
Youssef Rabei

Javascript:

const squareSum = numbers => numbers.map(num => num ** 2).reduce((a, b) => a + b, 0)
Collapse
mellen profile image
Matt Ellen

Trying to find a more... unconventional javascript answer :D

function squareSum(numbers)
{
  if(numbers.length > 0)
  {
    let n = numbers.pop();
    return square(n) + squareSum(numbers);
  }

  return 0;
}

let squares = [0, 1];
function square(n)
{
  let absn = Math.abs(n);
  if(typeof(squares[n]) !== 'undefined')
  {
    return squares[n];
  }

  let sqr = square(absn-1) + (absn-1) + absn;

  squares[n] = sqr;

  return sqr;
}
Collapse
fvhockney profile image
Vernon Hockney

you can actually get rid of the map

const squareSum = arrayOfNumbers => arrayOfNumbers.reduce( (acc, val) => val ** 2 + acc, 0 )