斐波纳契迭代算法与递归算法
来源:互联网 发布:订货软件 编辑:程序博客网 时间:2024/06/08 13:23
package week5;
import org.junit.Test;
/*
*斐波纳契数列 f1 = f2 = 1,f(n) = f(n-1)+f(n-2),n>=3
*如:1 1 2 3 5 8 13 21 34 55.。。。。。。。。。。。
* */
public class Fibonacci {
@Test
public void test(){
// System.out.print(getNumber(1,1,10));
fibonacci(1,1,10);
}
//迭代形式
public int getNumber(int num1,int num2,int n){
int num=0 ;
int temp1 = num1,temp2 = num2;
for(int i=3; i<= n; i++){
num = temp1+temp2;
temp1 = temp2;
temp2 = num;
}
return num;
}
//递归形式
public void fibonacci(int num1,int num2,int n){
int num;
int temp1 = num1;
int temp2 = num2;
num = temp1+temp2;
if(n>3){//递归出口
fibonacci(temp2,num,n-1);
}
}
}
import org.junit.Test;
/*
*斐波纳契数列 f1 = f2 = 1,f(n) = f(n-1)+f(n-2),n>=3
*如:1 1 2 3 5 8 13 21 34 55.。。。。。。。。。。。
* */
public class Fibonacci {
@Test
public void test(){
// System.out.print(getNumber(1,1,10));
fibonacci(1,1,10);
}
//迭代形式
public int getNumber(int num1,int num2,int n){
int num=0 ;
int temp1 = num1,temp2 = num2;
for(int i=3; i<= n; i++){
num = temp1+temp2;
temp1 = temp2;
temp2 = num;
}
return num;
}
//递归形式
public void fibonacci(int num1,int num2,int n){
int num;
int temp1 = num1;
int temp2 = num2;
num = temp1+temp2;
if(n>3){//递归出口
fibonacci(temp2,num,n-1);
}
}
}
0 0
- 斐波纳契迭代算法与递归算法
- (十六)递归算法与递归算法应用
- 递归与回溯算法
- JSON与递归算法
- 汉诺塔与递归算法
- 分治与递归算法
- 递归与分治算法
- 【数据结构与算法】递归
- 经典递归算法算法与排序算法
- 迭代算法与递归算法
- [ZZ]迭代算法与递归算法
- 迭代算法与递归算法概述
- 数据结构与算法(递归算法思想)
- 递归算法与迭代算法总结
- 数据结构与算法之递归算法
- 算法(08):递归与非递归
- 巴基卡三角非递归与递归算法
- 二分查找递归与非递归算法
- Part13
- oracle磁盘空间sql
- 链表的逆转(使用栈和动态数组)
- Part14
- 2017 蓝桥杯C/C++B组省赛 取数位
- 斐波纳契迭代算法与递归算法
- 数据结构—栈应用(二)括号比配问题
- Part15
- 代码风格
- 查询表空间使用率的sql
- 单调队列优化DP
- 二叉搜索树-《算法导论》学习笔记十一
- Code Jam 2017 Qualification Round Problem A. Oversized Pancake Flipper
- 路径中 使用斜杠/和反斜杠\的区别