고전 알고리즘 회고 의 - 비용 식 수열

3131 단어 데이터 구조
설명 하 다.
피 보 나치 (Fibonacci) 는 1200 년대 유럽 수학자 로 그의 저서 에서 "면 자 한 마리 가 매달 면 자 를 한 마리 낳 으 면 한 달 후에 면 자 도 생산 을 시작한다. 처음에는 면 자 한 마리 만 있 었 는데 한 달 후에 면 자 두 마리 가 있 었 고, 두 달 후에 면 자 세 마리 가 있 었 으 며, 세 달 후에 면 자 다섯 마리 가 생산 에 들 어 갔다" 고 언급 한 바 있다.
이 예 를 잘 이해 하지 못 하면 그림 을 들 어 알 수 있 습 니 다. 새로 태 어 난 면 자 는 한 달 동안 장기 적 으로 생산 에 들 어가 야 합 니 다. 비슷 한 이 치 는 식물의 성장 에 도 사용 할 수 있 습 니 다. 이것 이 바로 Fibonacci 수열 입 니 다. 보통 습관 적 으로 페 이 씨 수열 이 라 고 부 릅 니 다. 예 를 들 어 다음 과 같 습 니 다. 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 55, 89...
해법
설명 에 따 르 면 우 리 는 페 이 씨 수열 을 다음 과 같이 정의 할 수 있다.
fn = fn-1 + fn-2   if n > 1
fn = n       if n = 0, 1

  
  
  
  
  1. #include <stdio.h>   
  2.  
  3. #include <stdlib.h>   
  4.  
  5.  
  6. #define N 20   
  7.  
  8.  
  9. int main(void) {   
  10.  
  11. int Fib[N] = {0};   
  12.  
  13. int i;   
  14.  
  15.  
  16. Fib[0] = 0;   
  17.  
  18. Fib[1] = 1;   
  19.  
  20.  
  21. for(i = 2; i < N; i++)   
  22.  
  23. Fib[i] = Fib[i-1] + Fib[i-2];   
  24.  
  25.  
  26. for(i = 0; i < N; i++)   
  27.  
  28. printf("%d ", Fib[i]);   
  29.  
  30. printf("
    ");   
  31.  
  32.  
  33. return 0;   
  34.  
  35. }  

좋은 웹페이지 즐겨찾기