Fibonacci数
描述
无穷数列1,1,2,3,5,8,13,21,34,55...称为Fibonacci数列,它可以递归地定义为
F(n)=1 ...........(n=1或n=2)
F(n)=F(n-1)+F(n-2).....(n>2)
现要你来求第n个斐波纳奇数。(第1个、第二个都为1)
- 输入
- 第一行是一个整数m(m<5)表示共有m组测试数据
每次测试数据只有一行,且只有一个整形数n(n<20) - 输出
- 对每组输入n,输出第n个Fibonacci数
- 实现:
-
package July; import java.util.Scanner; public class fiobolaco { private static int num[]=new int[1000]; public static void main(String[] args) { Scanner sc=new Scanner(System.in); //System.out.println("请输入斐波拉切数列的m组测试数据:"+m); int m=sc.nextInt();//获取m组测试数据 int data[]=new int[m]; for(int i=0;i<m;i++){ data[i]=sc.nextInt(); } System.out.println("斐波拉切数列为:"); generate(num); System.out.println(); //找到指定位置在数列中的数值 for(int i=0;i<data.length;i++){ find(data[i]); } } public static void generate(int[] num){ for(int i=1;i<=30;i++){ if(i==1||i==2){ num[i]=1; }else{ num[i]=num[i-1]+num[i-2]; } System.out.print(num[i]+" "); } } public static void find(int n){ for(int i=1;i<num.length;i++){ if(i==n){ System.out.println("第"+n+"位在斐波拉切数列中的数位:"+num[i]); } } } }
运行结果:
时间: 2024-12-14 06:18:49