두 가지 JS 방법으로 피보나치 수열을 실현하다

1334 단어
첫 번째 방법: 귀속
function fibonacci(n){
  if (n==0){
    return 0;
  }else if (n==1){
    return 1;
  }
  return fibonacci(n-1)+fibonacci(n-2);
}

인터넷에 존재하는 방법은 다음과 같다.
function fibonacci(n){
  if (n==1||n==2){
    return 1;
  }
  return fibonacci(n-1)+fibonacci(n-2);
}

이렇게 하는 데는 부족한 점이 하나 있는데, n의 값은 반드시 0보다 커야 한다.
두 번째 방법: 순환, 비귀속
function fibonacci(n){
  var a = 0, b = 1, num = 0;
  if (n==0){
    return 0;
  }else if(n==1){
    return 1;
  }
  for(var i=1;i<n;i++){
    num = a + b;
    a = b;
    b = num;
  }
  return num;
}

인터넷의 기존 방법은 판단 부분을 포함하지 않고 n의 수치는 1보다 크다.

좋은 웹페이지 즐겨찾기