递归 - 斐波那契系列

递归 - 斐波那契系列 首页 / 结构和算法入门教程 / 递归 - 斐波那契系列

斐波那契数列通过将两个先前的数字相加来生成后续的数字,斐波那契数列从两个数字开始- F0 & F1. 初始值可以分别设为0、1或1、1。

斐波那契数列满足以下条件-

Fn=Fn-1 + Fn-2

因此,斐波那契数列可以看起来像这样-

链接:https://www.learnfk.comhttps://www.learnfk.com/data-structures-algorithms/fibonacci-series.html

来源:LearnFk无涯教程网

F 8 =0 1 1 2 3 5 8 13

或者,这-

F 8 =1 1 2 3 5 8 13 21

出于说明目的,F 8 的斐波那契显示为-

Fibonacci Animation

斐波那契迭代算法

首先,我们尝试为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  f0 + f1   
      f0  f1
      f1  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  f0 + f1   
      f0  f1
      f1  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

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Service Mesh实践指南 -〔周晶〕

程序员进阶攻略 -〔胡峰〕

Elasticsearch核心技术与实战 -〔阮一鸣〕

TensorFlow 2项目进阶实战 -〔彭靖田〕

Python自动化办公实战课 -〔尹会生〕

程序员的个人财富课 -〔王喆〕

Kubernetes入门实战课 -〔罗剑锋〕

手把手带你写一个MiniSpring -〔郭屹〕

结构会议力 -〔李忠秋〕

好记忆不如烂笔头。留下您的足迹吧 :)