天天看點

斐波納契數列<經典遞推問題>

斐波納契數列

題目描述

斐波納契數列

1,1,2,3,5,8,13,21,34,55,89……這個數列則稱為“斐波納契數列”,其中每個數字都是“斐波納契數”。

輸入

一個整數N(N不能大于40)

輸出

由N個“斐波納契數”組成的“斐波納契數列”。送出時請嚴格注意格式, 兩個斐波那契數之間用空格隔開, 最後一個答案後加回車

樣例輸入

6

樣例輸出

1 1 2 3 5 8

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a[];
    int i,c,N;
    a[]=;                             //規定兩個初始值
    a[]=;
    scanf("%d",&N);

    for(i=;i<N;i++)
        {
            if(i<=)
            printf("%d ",a[]);
            if(i>&&i<N)
            {
            a[i]=a[i-]+a[i-];         //遞推過程
            printf("%d ",a[i]);
            }
        }
        return ;


}
           

這個問題雖然簡單,但是引發了以後對遞推的學習,包括函數的遞推,數組的遞推等問題,都是這個原理。