辞职不久,去一家公司面试,刚好遇到这个编程题。这题好像在哪见过,悲催的我没有做出来。也不算没有做出来,想错了。是前两个数相加,我做到相乘去了。一点也不细心,
好好反省,回家把它重新做了一下,包括递归和非递归算法。
public class TestFei {
/**
* @param args
*/
public static void main(String[] args) {
for(int i=1;i<=20;i++){
int k=printNum2(i);
System.out.println(k);
}
for(int i=1;i<=20;i++){
System.out.println(printNum(i));
}
}
public static int printNum(int k){
if(k==1||k==2){
return 1;
}else{
int [] a = new int[k+1];
a[0]=1;
a[1]=1;
for(int i=2;i<=k;i++){
a[i]=a[i-1]+a[i-2];
}
return a[k-1];
}
}
public static int printNum2(int k){
if(k==1||k==2){
return 1;
}else{
return (printNum2(k-1)+printNum2(k-2));
}
}
}
分享到:
相关推荐
根据给定文件的信息,我们可以详细地探讨如何使用Java来实现Fibonacci数列,并通过具体的代码示例来深入了解这一主题。 ### Java实现Fibonacci数列 #### 1. Fibonacci数列简介 Fibonacci数列是一系列数字,其中每...
Java中斐波那契数列的简单实现方法 Java中斐波那契数列的简单实现方法是指使用Java语言来实现斐波那契数列的生成。斐波那契数列是指一个数列,其中每一项的值是前两项的和。这个数列有很多实际应用,例如解决兔子生...
总之,理解并掌握斐波那契数列及其Java实现,对于提升编程技能和算法理解能力都是非常有益的。你可以根据实际需求选择合适的实现方式,同时,学习和实践这些方法也可以帮助你更好地理解计算机科学中的递归、动态规划...
在Java编程中,实现斐波那契数列有多种方法,包括递归、循环和动态规划等。递归方法虽然直观,但效率较低,因为它会进行大量的重复计算。循环方法和动态规划则通过存储中间结果避免了重复计算,提高了效率。 以下是...
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”。java代码实现该数列
斐波那契数列(Fibonacci Sequence)是数学中一个著名的数列...以上就是关于“斐波那契数列”和“Java求解素数”的基本知识,以及相应的Java实现。通过学习和理解这些概念,你可以更好地理解和应用这些基础的编程技巧。
总的来说,这个项目结合了基本的算法、数据结构(如数组存储斐波那契数列)、用户交互设计和GUI编程,是学习和实践Java编程的好例子。通过研究这个项目,开发者可以提升其在GUI设计、事件驱动编程以及算法优化等方面...
java斐波那契数列编程,是运用数组来创建的文档,输出一系列数.
斐波那契数列是计算机科学中一个经典的概念,它在算法设计、数据分析以及许多其他领域都有广泛应用。...通过解决这类问题,你可以更好地掌握Java编程的基础,并为后续学习更复杂的算法和数据结构打下坚实的基础。
下面我们将深入探讨如何使用Java来实现斐波那契数列,并分析其性能优化。 首先,给出的Java代码是一个简单的递归数组实现,用于打印前`count`个斐波那契数: ```java public class FibonaciTest { public static ...
在给定的Java代码中,`result` 方法实现了递归的方式来计算斐波那契数列的第 n 个数。下面是对这段代码的详细分析: 1. **异常处理**:首先,代码通过 `if(n)` 检查输入参数 `n` 是否为负数。如果 `n` 小于0,会抛...
Java递归实现斐波那契数列是 Java 编程语言中的一种编程技巧,通过递归算法来实现斐波那契数列的生成。斐波那契数列是一个著名的数列,前面几个数字是0、1、1、2、3、5、8、13、21、34、55、89、144、233、377、610...
在Java中,我们可以使用多种方法来实现这个数列。这里主要介绍三种常见的实现方式。 1. **函数自迭代(递归)** 这是最直观的实现方式,通过递归函数计算斐波那契数。例如: ```java public int fnType1(int n) ...
斐波那契数列是计算机科学中一个经典的概念,它在算法...总之,这个Java斐波那契数列教程不仅涵盖了基本的算法实现,还可能涉及到了优化和实际应用,对于提升你的Java编程能力,特别是对算法的理解和运用具有很大价值。
根据给定的部分内容,可以看到这是一个简单的Java程序,用于计算并打印出斐波那契数列的第0项。 ```java public class Fibo { public static void main(String[] args) { System.out.println(cp(0)); } public ...
根据给定的信息,本文将详细解释如何在五种不同的编程语言(Python、Java、C++、Go 和 JavaScript)中实现斐波那契数列。斐波那契数列是一个非常著名的数学序列,其中每个数字是前两个数字的和。序列通常以 0 和 1 ...
"三种java编程方法实现斐波那契数列" 斐波那契数列是指一个数列,数列的每一项是其前两项的和,通常以0和1作为起始,数列的前几个项是0、1、1、2、3、5、8、13、21、34、55、89、144等。斐波那契数列在数学和计算机...
在给定的文档标题与描述中,“Java实现用递归算法和非递归算法求解斐波那契数列问题”明确指出了本文将围绕Java编程语言、递归算法与非递归算法以及斐波那契数列三个主要方面展开讨论。下面将对这三个核心概念进行...
压缩包内的源程序很可能是用不同的编程语言(如C++、Python或Java)实现了以上的一种或多种方法,供学习者参考和实践。通过阅读和分析这些源代码,可以加深对斐波那契数列算法的理解,并提高编程能力。 在信息学...
以下是一个简单的Java程序,使用循环来实现斐波那契数列: ```java public class Fibonacci { public static void main(String[] args) { int n = 10; // 输出前10个斐波那契数 long prev = 0, curr = 1; ...