`

递归算法:Fibonacci数列

    博客分类:
  • java
 
阅读更多
import javax.swing.JOptionPane;

/**
 * 		Fibonacci数列兔子繁殖问题:从某天开始把雌雄各一的一对小兔子放入养殖场中,
 * 小兔经过一个月长大,长大后,雌兔每月产雌雄各一的一对小兔。每对新兔也是一个月长 
 * 大,长大后每对新兔也是每月产一对兔子。试问第n个月养殖场共有多少对兔子?
 * */

public class Fibonacci {

	public static void main(String[] args) {
		int n = 0;
		try {
			n = Integer.parseInt(JOptionPane.showInputDialog("请输入n: "));
		} catch (NumberFormatException e) {
			System.out.println("数据格式不对!,请输入正整数。");
			return;
		}
		System.out.println(f(n));
	}

	public static int f(int n) {
		if (n < 1) {
			return -1;
		} else if (n == 1 || n == 2) {
			return 1;
		} else {
			return f(n - 1) + f(n - 2);
		}
	}
}
分享到:
评论

相关推荐

    递归算法算斐波那契数列

    ### 递归算法计算斐波那契数列 #### 知识点概览 1. **斐波那契数列定义** 2. **递归算法原理** 3. **递归函数设计** 4. **递归算法的时间复杂度分析** 5. **C语言实现递归斐波那契数列** #### 斐波那契数列定义 ...

    Labview实现递归:斐波那契数列

    斐波那契数列: 在数学上它以递归的方式进行定义,指这样的一个数列:0、1、1、2、3、5、8、13、21、34、55、89、144……,即前两个数为分别为0和1,从第3项开始,每项的值都等于其前两项之和。斐波那契数列Fib(n)用...

    Java实现用递归算法和非递归算法求解斐波那契数列问题.docx

    ### Java实现用递归算法和非递归算法求解斐波那契数列问题 #### 知识点解析 在给定的文档标题与描述中,“Java实现用递归算法和非递归算法求解斐波那契数列问题”明确指出了本文将围绕Java编程语言、递归算法与非...

    编写函数f,功能是用递归的方法求斐波那契数列的第n项

    斐波那契数列:1,1,2,3,5,8,13,21…… 【输入形式】3 【输出形式】2 【样例输入】6 【样例输出】8 【问题描述】编写函数f,功能是用递归的方法求斐波那契数列的第n项,函数原型为 int f(int n),在主函数中...

    利用递归函数求解Fibonacci数列

    利用递归数列求解著名的Fibonacci数列的各项,用户可自定义输入要求的第n项,输入后即可求出从0到n每一项Fibonacci的值。

    非递归实现fibonacci数列

    使用C++非递归实现fibonacci数列,对正在学习算法的同学应该挺有帮助的

    递归算法 斐波那契数列Demo案例!

    下面是一个简单的Python代码示例,展示了如何使用递归算法来计算斐波那契数列: ```python def fibonacci(n): if n &lt;= 0: return 0 elif n == 1: return 1 else: return fibonacci(n-1) + fibonacci(n-2) ```...

    算法-斐波那契数列(信息学奥赛一本通-T1159)(包含源程序).rar

    斐波那契数列是计算机科学中一个非常基础且重要的概念,它在信息学奥赛中经常被用作考察参赛者算法思维和编程能力的题目。这个压缩包文件"算法-斐波那契数列(信息学奥赛一本通-T1159)(包含源程序).rar"显然包含...

    递归方法实现斐波那契数列_递归方法实现斐波那契数列_python_源码

    斐波那契数列是一个经典的数学概念,在计算机科学中经常被用作教学示例和算法设计的基础。这个数列的定义非常简单:第一项和第二项都是1,从第三项开始,每一项都等于前两项之和。用数学公式表示就是: F(1) = 1 F...

    C++:斐波那契数列(迭代和递归)

    我们可以使用两种主要方法在C++中实现斐波那契数列:迭代和递归。 **迭代法**: 迭代法是通过循环结构来计算斐波那契数列的一种高效方式。这种方法避免了递归带来的栈空间开销,适用于较大的数列项。下面是一个使用...

    Fibonacci数列(非递归的函数调用)

    斐波那契数列是一个经典的数学概念,在计算机科学...了解和实践非递归的斐波那契数列计算,对于提升C++编程技能和算法理解能力非常有帮助。在实际项目中,类似的方法也可以应用于其他需要高效计算序列或序列项的问题。

    算法设计实验报告之多种方法求解斐波那契数列

    然而,递归算法存在大量的重复计算,效率较低,时间复杂度为O(2^n)。 2. **迭代算法**:为了避免递归中的重复计算,可以使用循环实现迭代算法,用一个数组存储之前计算过的斐波那契数,时间复杂度降低到O(N),同时...

    Java递归实现斐波那契数列

    Java递归实现斐波那契数列是 Java 编程语言中的一种编程技巧,通过递归算法来实现斐波那契数列的生成。斐波那契数列是一个著名的数列,前面几个数字是0、1、1、2、3、5、8、13、21、34、55、89、144、233、377、610...

    C++实现Fibonacci数列递归及非递归算法

    本文将探讨如何使用C++语言来实现Fibonacci数列的递归和非递归算法。 **递归算法** 递归是一种解决问题的方法,它定义一个函数或过程通过调用自身来解决问题。对于Fibonacci数列,递归实现非常直观: ```cpp int ...

    斐波那契数列(前100项).rar

    斐波那契数列是一个经典的数学概念,在计算机科学和编程...通过这个例子,我们可以深入理解递归和非递归算法,以及如何在C语言中实现这些算法。同时,这也是一个很好的机会去探讨算法优化、数据结构和问题解决技巧。

    递归地求解Fibonacci数列.pdf

    递归求解Fibonacci数列是一个很好的学习递归算法的例子。虽然基本递归方法直观易懂,但它的效率不高,特别是在处理较大数值时。通过引入记忆化技术,可以在保持算法简洁的同时大幅提升性能。这种优化思想在许多场景...

    华为题(斐波那契数列非递归)[定义].pdf

    栈可以用于实现递归算法,也可以用于实现非递归算法,如斐波那契数列的计算。 在这个给定的文件中,使用了栈数据结构来实现斐波那契数列的计算。栈的实现使用了结构体sqStack来存储栈的元素,并提供了InitStack、...

    斐波那契数列常用算法.pdf

    递归算法 : 简单易懂,但效率低,因重复计算大量子问题。 迭代算法 :通过循环计算,避免了递归的重复计算,效率更高。 动态规划算法 : 利用数组存储计算结果,避免重复计算,提高效率。 矩阵快速幂算法 : 通过...

    函数递归练习(斐波那契数列,二分查找)

    在编程领域,函数递归是一种强大的工具,它允许一个函数通过调用自身来解决问题。这里我们主要关注两个经典的递归应用实例:...同时,理解并掌握递归算法的优化技巧,如动态规划和记忆化,对于提高程序性能至关重要。

Global site tag (gtag.js) - Google Analytics