斐波那契数列的排列是:1,1,2,3,5,8,13,21,34,55,89,144...求第30个数是多少?并输出前30个数。
程序:
public class Facci {
public static void main(String[] args) {
System.out.println("第30个数是:"+fun(30));
System.out.print("前30项数列为:");
for (int i = 1; i <= 30; i++) {
System.out.print(fun(i)+" ");
}
}
/**
* 递归
* @param n 第n个数
* @return
*/
public static int fun(int n) {
if (n==1||n==2) {
return 1;
}else {
return fun(n-1)+fun(n-2);
}
}
}
结果:
第30个数是:832040
前30项数列为:1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040