blob: 94217ed6b6738424cd63ee0b504dd42b7dd631ea (
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 i) {
if (i <= 1)
return (long) i;
final long[] fibArray = new long[i+1];
fibArray[0] = 0;
fibArray[1] = 1;
for (int j = 2; j < i+1; j++) {
fibArray[j] = fibArray[j - 1] + fibArray[j - 2];
}
return fibArray[i];
}
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
System.out.println(fib_optimized1(n));
}
}
|