java斐波那契数列两种实现方法
import java.util.Scanner;
public class Demo {
public static void main(String args[]){
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
Thread thread = new Thread() {
public void run() {
System.out.println(fib1(n)+"-递归");
}
};
thread.start();
System.out.println(fib2(n)+"-非递归");
}
static int fib1(int n) {//递归实现方法
if(n==1||n==2)
return 1;
else
return fib1(n-1)+fib1(n-2);
}
static int fib2(int n) {//非递归实现方法
int a=1;
int b=1;
if(n==1||n==2)
return 1;
for(int i=3;i<=n;i++) {
int c = a+b;
a=b;
b=c;
}
return b;
}
————————————————
版权声明:本文为CSDN博主「野比带雄」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_36923376/article/details/89361525