import java.util.Scanner;
/*
* 第二题:求斐波那契数列第n项,n<30
*/
public class Test2{
public static void main(String args[]){
//定义一个整数变量,记录第n项的值
int fn;
//创建一个键盘扫描类对象
Scanner input = new Scanner(System.in);
//输出提示
System.out.println("请输入一个小于30整数");
//输入整数
int n = input.nextInt();
//关闭input
input.close();
//判断输入是否符合 n<30
if(n<=0||n>=30){
System.out.println("不正确的输入");
return;
}
//调用求斐波那契第n项的函数
fn=fb(n);
//输出结果
System.out.printf("斐波那契数列第 %d 项为 %d", n,fn);
}
//递归函数求斐波那契第n项
public static int fb(int n){
//前两项都是1
if(n<3) return 1;
//递归调用,返回前两项的和
return fb(n-2)+fb(n-1);
}
}
|
|