使用递归和非递归方式实现fibonacci数列,从输出结果分析:递归的执行效率低。
package com.sg.fibonacci;
public class FibonacciMain {
public static void main(String[] args) {
int num = 40;
long begin = 0l;
long end = 0l;
begin= System.currentTimeMillis();
System.out.print("Number "+num+" fibonacci value -> " +finnonacciTraversal(num));
end = System.currentTimeMillis();
System.out.println(" spend time: " + (end - begin));
begin = System.currentTimeMillis();
System.out.print("Number "+num+" fibonacci value -> " +fibonacciRecursive(num));
end = System.currentTimeMillis();
System.out.println(" spend time: " + (end - begin));
}
/**
* 使用递归实现fibonacci数列
* @param count 获取第count结果
* @return
*/
public static int fibonacciRecursive(int count){
if(count == 1 || count == 2) {
return 1;
}else {
int temp = fibonacciRecursive(count-1)+fibonacciRecursive(count-2);
return temp;
}
}
/**
* 使用遍历的方式生成fibonacci数列
* @param 获取第count结果
* @return
*/
public static int finnonacciTraversal(int count) {
int f2 = 1;
int f1 = 1;
int temp = 0;
for(int i=2;i<count;i++) {
temp = f2;
f2 = f1 + f2;
f1 = temp;
}
return f2;
}
}
Number 40 fibonacci value -> 102334155 spend time: 1
Number 40 fibonacci value -> 102334155 spend time: 811
分享到:
相关推荐
斐波那契数列实现的C++代码;代码易懂易扩展。
斐波那契数列: 在数学上它以递归的方式进行定义,指这样的一个数列:0、1、1、2、3、5、8、13、21、34、55、89、144……,即前两个数为分别为0和1...本例为LabVIEW中编写递归VI实现求解斐波那契数列Fib(n)中第n项的值
根据给定文件的信息,我们可以详细地探讨如何使用Java来实现Fibonacci数列,并通过具体的代码示例来深入了解这一主题。 ### Java实现Fibonacci数列 #### 1. Fibonacci数列简介 Fibonacci数列是一系列数字,其中每...
斐波那契数列大家都很熟悉吧,咱们在高中学数学的时候,老师会讲这个定律以及算法,其实数据结构和数学息息相关,数学思维好的往往逻辑思维就比较好,今天小猿圈带大家学习一下python的斐波那契数列的实现。...
使用C++非递归实现fibonacci数列,对正在学习算法的同学应该挺有帮助的
#### C++中的斐波那契数列实现 给定的部分内容展示了一个使用C++编写的简单程序,用于生成斐波那契数列: ```cpp #include #include // 定义斐波那契数列生成函数 std::vector<int> generateFibonacci(int n) {...
1. **算法实现**:常见的编程语言如C语言,可以用来实现斐波那契数列的计算。有两种主要的方法:递归和非递归。 - **递归方法**:递归是最直观的实现方式,但效率较低,因为它会重复计算很多次相同的值。例如,用...
递归方法是实现斐波那契数列的一种常见方式。在编程中,递归是指函数调用自身来解决问题的方法。在这个场景下,我们可以编写一个函数,它会根据斐波那契数列的定义来计算第n项的值。 Python中递归实现斐波那契数列...
【问题描述】编写函数f,功能是用递归的方法求斐波那契数列的第n项,函数原型为 int f(int n),在主函数中输入一个正整数n,调用函数f求出斐波那契数列的第n项,并在主函数中输出。 斐波那契数列:1,1,2,3,5,8,13,...
在计算机科学中,特别是硬件描述语言(HDL)如Verilog中,斐波那契数列的实现是一个常见的练习,用于学习和展示并行和串行计算的概念。 Verilog是一种广泛使用的硬件描述语言,它允许工程师用类似于编程语言的方式...
在Java编程中,实现斐波那契数列有多种方法,包括递归、循环和动态规划等。递归方法虽然直观,但效率较低,因为它会进行大量的重复计算。循环方法和动态规划则通过存储中间结果避免了重复计算,提高了效率。 以下是...
# 题目:斐波那契数列。 # 程序分析:斐波那契数列(Fibonacci sequence),从1,1开始,后面每一项等于前面两项之和。图方便就递归实现,图性能就用循环。
在这个"MIPS汇编实验:斐波那契数列"中,我们主要关注的是如何使用C语言和MIPS汇编来实现斐波那契数列的计算,并进行溢出和输入检测。斐波那契数列是由两个前一个数相加得到的数列,通常以0和1开始。 首先,我们看...
在这个MATLAB程序中,我们首先定义了斐波那契数列的前两项`fibonacci = [1, 2]`,然后通过`for`循环从第三项开始计算,直到第一百项。在每次循环中,我们使用`fibonacci(k)`存储当前项,它是前两项`fibonacci(k-1)`...
MIPS汇编语言实现斐波那契数列的排列 本资源使用MIPS汇编语言在Mars环境下实现斐波那契数列的排列,并输出前n项的下标、十进制数值和十六进制数值。 知识点总结: 1. MIPS汇编语言基础知识:MIPS汇编语言是一种...
输出Fibonacci数列是一种使用循环来输出斐波那契数列的方法。该方法的思想是使用循环来输出斐波那契数列的每个数字。下面是一个输出Fibonacci数列的JAVA代码: public class Fib{ public static void main(String ...
Java中斐波那契数列的简单实现方法 Java中斐波那契数列的简单实现方法是指使用Java语言来实现斐波那契数列的生成。斐波那契数列是指一个数列,其中每一项的值是前两项的和。这个数列有很多实际应用,例如解决兔子生...
在编程中,特别是C++中,有多种方法可以实现计算斐波那契数列的第n项。非递归的函数调用方式通常比递归更有效率,因为它避免了重复计算和堆栈调用的开销。以下是一种使用循环的非递归方法: ```cpp #include using...
通过上述分析可以看出,给定的C语言代码实现了求解Fibonacci数列前20项的功能,并且代码结构清晰、易于理解。这种简单的迭代方法不仅能够高效地解决问题,同时也为学习者提供了一个良好的示例。对于进一步的需求,...