package com.edgar;
public class TestFibonacci {
public static void main(String[] args) {
// TODO Auto-generated method stub
long start1 = System.currentTimeMillis();
System.out.println(fibonacci(40));
long end1 = System.currentTimeMillis();
long start2 = System.currentTimeMillis();
System.out.println(fibonacci2(40));
long end2 = System.currentTimeMillis();
System.out.println(end1-start1);
System.out.println(end2-start2);
}
public static int fibonacci(int n){
if(n ==0){
return 0;
}
else if(n ==1 ||n==2){
return 1;
}
else{
return fibonacci(n-1)+ fibonacci(n-2);
}
}
// 1 1 2 3 5 8 13
// 1 2 3 4 5 6
public static int fibonacci2(int n){
if(n ==0){
return 0;
}
else if(n ==1 ||n==2){
return 1;
}
else{
int temp1 = 1;
int temp2 = 1;
int temp = 0;
for(int i=3;i<=n;i++){
temp = temp1+ temp2;
temp2 = temp1;
temp1 = temp;
}
return temp;
}
}
}
分享到:
相关推荐
使用C++非递归实现fibonacci数列,对正在学习算法的同学应该挺有帮助的
C++实现Fibonacci数列递归及非递归算法
Fibonacci数列的java实现,包括递归与非递归实现
Fibonacci数列,用c++编写的,非递归的函数调用求Fibonacci数列的第n项
主要为大家详细介绍了JAVA递归与非递归实现斐波那契数列,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Java实现用递归算法和非递归算法求解斐波那契数列问题.docx
百鸡问题 递归与非递归求最大公约数 斐波那契数列递归与非递归算法 递归与非递归求阶乘
斐波那契递归时间和非递归时间的比较(csdn)————程序
斐波那契数列(fibonacci)-java的非递归实现。
c#斐波那契数列(Fibonacci)(递归,非递归)实现代码,需要的朋友可以参考一下
斐波那契数列递归与非递归算法(输入数列前N项)
组合数学实验fibonacci数列递归和非递归程序
代码如下:采用递归形式和非递归形式实现斐波那契数列</SPAN> 代码如下:#include “stdafx.h”#include <iostream>using namespace std;//递归形式的斐波那契数列int fibonacciRecursion(int n){ if (n == 1 || n ==...
java用非递归的方法打印Fibonacci数列。。。。。。。。
非递归斐波那契数列.py
这是自己写的递归求非波拉锲数列程序,小菜级别的高手闪过
C 语言实现的斐波那契数列(fibnacii),非递归方式。斐波拉契数列当输入值大于某个值时,基本的整形变量将无法保存其结果,因此本例使用字符串返回斐波拉契的结果,其中包括用字符串实现的大数加法。
华为题(斐波那契数列非递归)[定义].pdf