题目描述:
Fibonacci数列:第1、2项均为1,从第3项开始,每一项都是前两项之和。输入n值,输出Fibonacci数列第n项,该数列前10项为1, 1, 2, 3, 5, 8, 13, 21, 34, 55。
输入描述:
输入占一行,为n的值,1≤n≤40。
输出描述:
输出占一行,为Fibonacci数列第n项的值。
样例输入:
40
样例输出:
102334155
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static int Fibonacci(int n){
if(n<=2)
return 1;
int a=1;
int b=1;
int result=0;
for(int i=3;i<=n;i++){
result=a+b;
a=b;
b=result;
}
return result;
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n=scan.nextInt();
System.out.println(Fibonacci(n));
scan.close();
}
}
运行限制
语言 | 最大运行时间 | 最大运行内存 |
---|---|---|
C++ | 1s | 256M |
C | 1s | 256M |
Java | 2s | 256M |
Python3 | 3s | 256M |
PyPy3 | 3s | 256M |
Go | 3s | 256M |
JavaScript | 3s | 256M |