Algorism

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

자라나라나무나무나 2022. 7. 16. 23:49
등차수열 : F(n) = F(n-1) + a

 

수식 1차 2차 결과
f(1)     = 3
f(2) = f(1) + 2 = 3 + 2 = 5
f(3) = f(2) + 2 = 5 + 2 = 7
f(4) = f(3) + 2 = 7 + 2 = 9
f(5) = f(4) + 2 = 9 + 2 = 11
f(n)  = f(n - 1) + 2, f(1) = 3

for문

let result;

function forloop(s, t, number) { // s => start t => 간격(등차값) number => 갯수(얼마만큼의 갯수)
  let acc = 0; // 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; => 9 + 2
// number : 4 recursive(s, t, 3) + 2; => 7 + 2
// number : 3 recursive(s, t, 2) + 2; => 5 + 2
// number : 2 recursive(s, t, 1) + 2; => 3 + 2
// number : 1 return 3;

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