public class FibonacciTest {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
System.out.print(Fibonacci(i));
}
System.out.println("");
for (int i = 0; i < 10; i++) {
System.out.print(FibonacciSecond(i));
}
}
//给定一个数,返回斐波那契数列的第n项
//从0项开始,第零项为0
//递归实现
public static int Fibonacci(int n) {
if (n <= 1) {
return n;
}else {
return Fibonacci(n-1)+Fibonacci(n-2);
}
}
//非递归实现
//前两项之和等于第三项,第三项等于下一个循环的第二项,第三项减第一项等于下一个循环的第一项
public static int FibonacciSecond(int n) {
if(n<=1){
return n;
}
int pre = 0;
int next = 1;
for (int i = 0; i < n; i++) {
next = pre + next;
pre = next - pre ;
}
return pre;
}
}
斐波那契数列-----牛客笔记
最新推荐文章于 2022-07-21 16:40:51 发布