[アルゴリズム]再帰練習コード(1)-階乗


1~nと


flow

4 + sumTo(3); 
-> 4 + (3 + sumTo(2)) 
  -> 4 + 3 + (2 + sumTo(1)) 
    -> 4 + 3 + 2 + sumTo(1)
      -> 4 + 3 + 2 + 1

code

function sumTo(n) {
  if (n === 1) return 1;
  return n + sumTo(n - 1);
}

factorial


flow



code

function fact(n) {
  if (n === 1) return 1;
  return n * fact(n - 1);
}
リファレンス
  • https://medium.com/swlh/visualizing-recursion-6a81d50d6c41