斐波那契数列通过将两个先前的数字相加来生成后续的数字,斐波那契数列从两个数字开始- F0 & F1. 初始值可以分别设为0、1或1、1。
斐波那契数列满足以下条件-
Fn=Fn-1 + Fn-2
因此,斐波那契数列可以看起来像这样-
F 8 =0 1 1 2 3 5 8 13
或者,这-
F 8 =1 1 2 3 5 8 13 21
出于说明目的,F 8 的斐波那契显示为-

斐波那契迭代算法
首先,我们尝试为Fibonacci级数起草迭代算法。
Procedure Fibonacci(n)
declare f0, f1, fib, loop
set f0 to 0
set f1 to 1
display f0, f1
for loop ← 1 to n
fib </span><span class="pun">←</span><span class="pln"> f</span><sub><span class="pln">0</span></sub><span class="pln"> </span><span class="pun">+</span><span class="pln"> f</span><sub><span class="pln">1</span></sub><span class="pln">
f</span><sub><span class="pln">0</span></sub><span class="pln"> </span><span class="pun">←</span><span class="pln"> f</span><sub><span class="pln">1</span></sub><span class="pln">
f</span><sub><span class="pln">1</span></sub><span class="pln"> </span><span class="pun">←</span><span class="pln"> fib
display fib
end for
end procedure
C语言实现上述算法
#include <stdio.h> int factorial(int n) { //base case if(n == 0) { return 1; } else { return n * factorial(n-1); } } int fibbonacci(int n) { if(n == 0) { return 0; } else if(n == 1) { return 1; } else { return (fibbonacci(n-1) + fibbonacci(n-2)); } } int main() { int n = 5; int i; printf("Factorial of %d: %d\n" , n , factorial(n)); printf("Fibbonacci of %d: " , n); for(i = 0;i < n;i++) { printf("%d ",fibbonacci(i)); } }
Factorial of 5: 120 Fibbonacci of 5: 0 1 1 2 3
斐波那契递归算法
让我们学习如何创建递归算法斐波那契数列。递归的基本标准。
START
Procedure Fibonacci(n)
declare f0, f1, fib, loop
set f0 to 0
set f1 to 1
display f0, f1
for loop ← 1 to n
fib </span><span class="pun">←</span><span class="pln"> f</span><sub><span class="pln">0</span></sub><span class="pln"> </span><span class="pun">+</span><span class="pln"> f</span><sub><span class="pln">1</span></sub><span class="pln">
f</span><sub><span class="pln">0</span></sub><span class="pln"> </span><span class="pun">←</span><span class="pln"> f</span><sub><span class="pln">1</span></sub><span class="pln">
f</span><sub><span class="pln">1</span></sub><span class="pln"> </span><span class="pun">←</span><span class="pln"> fib
display fib
end for
END
C语言实现的算法
#include <stdio.h>int factorial(int n) { //base case if(n == 0) { return 1; } else { return n * factorial(n-1); } }
int fibbonacci(int n) { if(n == 0){ return 0; } else if(n == 1) { return 1; } else { return (fibbonacci(n-1) + fibbonacci(n-2)); } }
int main() { int n = 5; int i;
printf("Factorial of %d: %d\n" , n , factorial(n)); printf("Fibbonacci of %d: " , n);
for(i = 0;i<n;i++) { printf("%d ",fibbonacci(i));
} }
Factorial of 5: 120 Fibbonacci of 5: 0 1 1 2 3