/**
*.求斐波那契数列第n项,n<30
*斐波那契数列前10项为 1,1,2,3,5,8,13,21,34,55
公式为f(n)=f(n-1)+f(n-2)
*/
import java.util.Scanner;
public class Test3 {
public static void main(String[] args) {
System.out.print("请输入想得到的项数:");
Scanner r = new Scanner(System.in);
int a = 0;
boolean b =true;
//判断输入的数是不是小于30的正整数
while(b){
if(!r.hasNextInt()){
System.out.println("请输入一个小于30的正整数!");
r = new Scanner(System.in);
continue;
}
a = r.nextInt();
if((0>=a)||(a>=30)){
System.out.println("请输入一个小于30的正整数!");
r = new Scanner(System.in);
continue;
}
b=false;
}
//输出结果
System.out.print(new Test3().fibonacciSequence(a));
}
//斐波那契数列的公式
private int fibonacciSequence(int n){
if(n==1||n==2){
return 1;
}else{
return fibonacciSequence(n-1)+fibonacciSequence(n-2);
}
}
}
|