Fibonacci数
时间限制:
3000 ms | 内存限制:
65535 KB
难度:
1
-
描述
-
无穷数列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数 样例输入
-
3 1 3 5
样例输出
-
1 2
5
-
-
代码
-
import java.util.Scanner; public class Test13 { static int Fib(int n) { if (n<1) return -1; else if (n<=2) return 1; int s1=1,s2=1; for (int i=3;i<=n;i++) { s2=s1+s2; s1=s2-s1; } return s2; } public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int m = sc.nextInt(); int n; while (m-->0) { n=sc.nextInt(); System.out.print(Fib(n)+"\n"); } sc.close(); } }