斐波那契数列,输入整数n输出对应的值
斐波那契数列:1 1 2 3 5 8 13 21 … 要求:用递归
代码:
import java.util.Scanner;
public class Recursion02{
public static void main(String[] args){
//斐波那契数列:1 1 2 3 5 8 13 21 ...
Fibonacci me = new Fibonacci();
Scanner can = new Scanner(System.in);
System.out.println("请输入n");
int n = can.nextInt();
int res = me.trypaly(n);
System.out.print("n的斐波那契数="+res);
}
}
class Fibonacci{
public int trypaly(int n){
if(n>=1){
if(n == 1 || n == 2){
return 1;
}else{
return trypaly(n-1)+trypaly(n-2);
}
}else{
System.out.print("False!");
return -1;
}
}
}
运行:
输出完整的菲波那切数列
代码:
import java.util.Scanner;
public class Recursion02{
public static void main(String[] args){
//菲波那切数列,输入整数n输出对应的值
//菲波那切数列:1 1 2 3 5 8 13 21 ... 要求:用递归
Fibonacci me = new Fibonacci();
Scanner can = new Scanner(System.in);
System.out.println("请输入n");
int n = can.nextInt();
int res = me.trypaly(n);
System.out.print("n的菲波那契数="+res);
System.out.println();
System.out.println("n的菲波那切数列:");
me.paly(n);
}
}
class Fibonacci{
int num;
public int trypaly(int n){
if(n>=1){
if(n == 1 || n == 2){
return 1;
}else{
return trypaly(n-1)+trypaly(n-2);
}
}else{
System.out.print("False!");
return -1;
}
}
public void paly(int n){
for(int i=1; i<=n; i++){
num = trypaly(i);
System.out.print(num + " ");
}
}
}
运行: