斐波那契數列的遞迴和非遞迴實現

2021-08-17 14:43:22 字數 1132 閱讀 2924

#define

_crt_secure_no_warnings 1

#include

#include

int main()

int a = 1;

int b = 1;

int c = 0;

int n = 0;

int i = 0;

printf("請輸入你想要計算的斐波那契數字個數\n");

scanf("%d", &n);

printf("%3d", a);

printf("%3d", b);

for (i=2; i < n; i++)

c = a + b;

printf("%3d", c);

a = b;

b = c;

system("pause");

return 0;

這是斐波那契數列的非遞迴演算法。接下來給大家介紹斐波那契數列的遞迴演算法,等兩個都完成之後再給大家分析一下兩種方式的空間複雜度以及時間複雜度等。

#define

_crt_secure_no_warnings 1

#include

#include

void fib(int

a, int

b, int

n)if (n

<= 0)

return;

else

n--;

int c = 0;

c = a + b;

a = b;

b = c;

printf("%3d", c);

fib(a, b, n);

int main()

int a = 1;

int b = 1;

int c = 0;

int n = 0;

printf("請輸入您想要顯示的斐波那契數列個數\n");

scanf("%d", &n);

printf("%3d", a);

printf("%3d", b);

n = n - 2;

fib(a, b, n);

system("pause");

return 0;

這是斐波那契的非遞迴演算法。

實現斐波那契數列演算法 遞迴和非遞迴

斐波那契數列指的是這樣乙個數列 1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368.這個數列從第3項開始,每一項都等於前兩項之和。package com.bug1 pub...

斐波那契數列的非遞迴實現

有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子對數為多少?兔子的規律為數列1,1,2,3,5,8,13,21 屬於斐波那契數列問題。該數列有乙個規律 f 0 1 f 1 1,f n f n 1 f n 2 n 2 由此可以用遞...

斐波那契數列 遞迴與非遞迴

首先來說下遞迴,遞迴的思想是大事化小。斐波那契數列 1,1,2,3,5,8,13,21.設f n 是第n個斐波那契數,當n 2,斐波那契數都為1 當n 2,那麼第f n 個斐波那契數就等於前兩個斐波那契數之和。遞迴的 實現 includeint fbnq int n int main 輸入10,得到...