프론트엔드 센트럴파크 (☞゚ヮ゚)☞

등비수열(for문, 재귀식) 본문

Algorism

등비수열(for문, 재귀식)

자라나라나무나무나 2022. 7. 17. 00:25
등비수열 : F(n) = F(n - 1) * a

 

수식 1차 2차 결과
f(1)     = 3
f(2) = f(1) * 2 = 3 * 2 = 6
f(3) = f(2) * 2 = 6 * 2 = 12
f(4) = f(3) * 2 = 12 * 2 = 24
f(5) = f(4) * 2 = 24 * 2 = 48
f(n)  = f(n - 1) * 2, f(1) = 3

for문

let result;

function forloop(s, t, number) { // s => start t => 간격(등차값) number => 갯수(얼마만큼의 갯수)
  let acc = 1; // 5번째의 값이 acc에 저장됨

  for(let i=1; i <= number; i++ ) {
    if(i == 1) {
      acc *= s;
    } else {
      acc *= t;  
    }
    console.log(i, acc);
  }
  return acc;
}
result = forloop(3, 2, 5);
console.log(result);

 

재귀식

let result;

function recursive(s, t, number) {
  // 멈출 조건
  if(number == 1) {
    return s;
  }
  return recursive(s, t, number -1) * t;
}

// number : 5 recursive(s, t, 4) * 2; => 24 * 2 = 48
// number : 4 recursive(s, t, 3) * 2; => 12 * 2 = 24
// number : 3 recursive(s, t, 2) * 2; => 6 * 2 = 12
// number : 2 recursive(s, t, 1) * 2; => 3 * 2 = 6
// number : 1 return 3;

result = recursive(3, 2, 5);
console.log(result);
Comments