三种方式实现fibonacci数列
来源:互联网 发布:多益网络账号找回 编辑:程序博客网 时间:2024/04/29 12:39
三种方式实现fibonacci数列
- 递归
- 非递归
- 尾递归
尾递归脑中演算运行一下就应该可以理解了。
非递归是根据公式,推导不会,会用就好。
/* 2.递归与分治 Fibonacci数列 */#include <stdio.h>#include <math.h>int fibonacci(int n){ if(n >= 0) { if(n == 0) return 1; else if(n == 1) return 1; else { return fibonacci(n-1)+fibonacci(n-2); } } else return -1;} //递归int fibonacci2(int n, int num1, int num2){ if(n >= 0) { if(n == 0) return num1; else return fibonacci2(n-1,num2,num1+num2); } else return -1; } //尾递归int fibonacci3(int n) { int i; int result; for(i = 0; i <= n; i++) { result = 1/sqrt(5)*(pow(((1+sqrt(5))/2),i+1) - pow(((1-sqrt(5))/2),i+1)); } return result; } //非递归 int main() { int n; scanf("%d",&n); printf("%d\n", fibonacci(n)); printf("%d\n", fibonacci2(n,1,1)); printf("%d\n", fibonacci3(n)); return 0;}
0 0
- 三种方式实现fibonacci数列
- Fibonacci series(斐波纳契数列)的几种常见实现方式
- Fibonacci数列算法的几种实现方式与比较
- Fibonacci数列的实现
- oracle实现fibonacci数列
- Fibonacci数列的实现
- Fibonacci数列 递归实现
- python 实现Fibonacci数列
- 实现Fibonacci数列
- fibonacci数列 java实现
- Fibonacci数列实现
- 求Fibonacci数列的三种思路和算法(C++实现)
- 斐波那契数列的三种实现方式
- 斐波那契数列三种实现方式
- c编程:求Fibonacci数列的两种方式。
- Fibonacci数列的生成(4种方式)
- 三种方法求解Fibonacci(斐波那契)数列
- 三种方法求解Fibonacci(斐波那契)数列
- Android系统Handler消息处理机制(二)
- IPC基础概念---Serializable接口
- 细究C++中const_iterator与const迭代器的区别
- Android-OpenCV的配置教程
- Hadoop Yarn详解
- 三种方式实现fibonacci数列
- Android还不错的项目
- 136.Single Number I
- lx009字符串的处理
- 七牛云存储____代码和资源同步到百度云
- bzoj2006NOI2010超级钢琴 主席树+优先队列
- 一句话后门中eval和assert的区别
- 学习笔记-Spring入门(一)
- Q72:渲染方程(Rendering Equation)