package demo;
/**
* Algorithm Gossip: 费式数列
*Fibonacci为1200年代的欧洲数学家,在他的着作中曾经提到:「若有一只免子每个月生一只小免
*子,一个月后小免子也开始生产。起初只有一只免子,一个月后就有两只免子,二个月后有三
*只免子,三个月后有五只免子(小免子投入生产)......。
*如果不太理解这个例子的话,举个图就知道了,注意新生的小免子需一个月成长期才会投入生
*产,类似的道理也可以用于植物的生长,这就是Fibonacci数列,一般习惯称之为费氏数列,例
*如以下: 1、1 、2、3、5、8、13、21、34、55、89......
* @author gaoq
* @date 2015-5-13 下午12:48:06
*/
public class FeiShiShuLie {
public static void main(String[] args) {
System.out.println(getCount(1,0));
System.out.println(getCount(2,0));
System.out.println(getCount(3,0));
System.out.println(getCount(4,0));
System.out.println(getCount(5,0));
System.out.println(getCount(6,0));
System.out.println(getCount(7,0));
}
private static int getCount(int n,int sum){
if(n == 1 || n == 2 ){
return 1;
}
return sum = getCount(n-1,0)+getCount(n-2,0);
}
}
相关推荐
斐波那契数列 *以兔子繁殖为例子而引入,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、…… * 在数学逻辑上以递归方法定义
《数据结构与算法分析——Java语言描述》是一本深度探讨数据结构和算法的专著,主要面向使用Java编程语言的读者。数据结构是计算机科学的基础,它涉及到如何在内存中组织和存储数据,以便高效地访问和操作。而算法则...
算法课程设计——分治法(java实现) 本课程设计报告的主要内容是对分治法的详细分析和讲解,并使用 Java 语言对其进行实现。分治法是一种经典的排序算法,它的主要思想是将问题分解为两个子序列,然后对子序列进行...
首先,让我们来看看Java算法中的基础部分——排序算法。Java中常见的排序算法有冒泡排序、插入排序、选择排序、快速排序、归并排序和堆排序等。冒泡排序和插入排序适用于小规模数据,而快速排序和归并排序则在大数据...
冒泡排序是一种基础且经典的排序算法,其工作原理是通过重复遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成...
根据给定的文件信息,我们可以总结出以下关于Java经典算法的知识点: ### 1. 斐波那契数列 斐波那契数列是一种典型的递归算法应用,数列的每一项都是前两项的和。在代码示例中,通过递归函数`f(int x)`实现了...
在Java编程中,解决这一问题通常有多种策略,包括回溯法、深度优先搜索(DFS)和位运算等。接下来,我们将详细探讨这三种方法。 首先,我们来看回溯法。回溯法是一种试探性的解决问题的方法,它尝试逐步构建解决...
- `JAVA1-2-01`至`JAVA1-2-10`涵盖了基本的算法设计和数据类型操作。例如,阶梯数列、素数判断、阶乘求和、近似值计算等。这些都是对整型和浮点型数据处理的基本练习,同时涉及条件判断、循环控制等基本语法。 3. ...
在《JAVA绝对经典算法》中,程序1展示了如何通过递归方法计算斐波那契数列。斐波那契数列是一个非常著名的数列,在自然界、艺术、建筑等众多领域都有其身影。数列的前两项通常定义为1,之后每一项都是前两项的和。 ...
这个数列的定义是这样的:第一项和第二项都是1,从第三项开始,每一项都等于前两项之和。用数学公式表示就是: F(1) = 1, F(2) = 1, F(n) = F(n-1) + F(n-2) (n >= 3) 在给定的Java代码中,`result` 方法实现了...
在"蓝桥杯 —— 基础练习 Fibnoacci 数列测试数据.zip"这个压缩包中,包含了用于测试斐波那契数列算法的输入数据。参赛者应该下载并解压这些文件,然后使用自己的程序去处理这些数据,以确保算法的正确性和效率。...
本资源“经典常用算法 Java和C语言两种实现”聚焦于将这些算法用两种广泛使用的编程语言——Java和C语言进行实现,旨在帮助开发者理解和应用这些基础且重要的算法。 1. **排序算法**: - **冒泡排序**:简单的比较...
Java算法讲解附源码,这个主题涵盖了编程领域中至关重要的部分——算法。在计算机科学中,算法是解决问题或执行任务的精确步骤集合。对于Java开发者来说,理解和掌握各种算法能够提升编程技能,优化代码性能,解决...
以上介绍了三种基本的排序算法——插入排序、冒泡排序和选择排序。虽然它们在处理小规模数据集时表现良好,但在大规模数据集面前,这些算法的性能通常不如更高效的算法,如快速排序、归并排序等。然而,了解这些基础...
对于初学者和有经验的程序员来说,理解和掌握各种算法的Java实现是提升技能的关键步骤。"各种算法的Java实现"这个主题包含了大量实用的知识点,让我们逐一深入探讨。 1. **排序算法**:排序是数据处理的基础,Java...
《数据结构与算法分析——Java语言描述.pdf》这本书将涵盖以上所有内容,并通过实例和练习帮助读者巩固理解。学习这些知识不仅可以提升编程技能,也能为面试和项目开发做好准备。记住,理解并熟练运用数据结构和算法...
标题中的“java经典算法大全”指的是Java编程语言中的一些常用且经典的算法集合,这些算法是解决各种计算问题的基础。在编程领域,算法是解决问题的步骤和方法,它们可以帮助我们高效地处理数据,优化程序性能。Java...
在第二部分中,我们将聚焦于一个具体的典型代码示例——`TypicalCode1.java`。 【描述】: 虽然描述为空,但我们可以推断这是一个关于Java实现算法的系列文章的第二部分。通常这类文章会涵盖不同的算法类型,如...
在本题目中,我们面临的是一个经典的数学问题——兔子繁殖问题,也被广泛地称为斐波那契数列问题。这个问题的背景设定为一对新生的兔子从第三个月开始每个月都会生育一对新兔子,而这些新出生的兔子同样从第三个月...