blob: 53388fea729581ed928fef086be460ebbd15b3de (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
import java.util.Scanner;
public class Fibonacci {
public static long fib_naive(int n) {
if (n <= 1)
return n;
return fib_naive(n - 1) + fib_naive(n - 2);
}
public static long fib_optimized1(int n) {
if (n <= 1)
return (long) n;
final long[] fibArray = new long[n+1];
fibArray[0] = 0;
fibArray[1] = 1;
for (int i = 2; i < n+1; i++) {
fibArray[i] = fibArray[i - 1] + fibArray[i - 2];
}
return fibArray[n];
}
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
System.out.println(fib_optimized1(n));
}
}
|