-
Notifications
You must be signed in to change notification settings - Fork 86
/
Copy pathCalculateNthFibonacciNumber
28 lines (25 loc) · 1.1 KB
/
CalculateNthFibonacciNumber
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
public class FibonacciCalculator {
public static int calculateFibonacci(int n) {
// Base case: Fibonacci numbers at positions 0 and 1 are 0 and 1,respectively, also, the Fibonnaci Sequence don't work with negative numbers
if (n == 0) {
return 0;
} else if (n == 1) {
return 1;
} else if (n < 0){
throw new IllegalArgumentException("Input should be a non-negative integer.")
}
// Recursive case: sum of the previous two Fibonacci numbers
return calculateFibonacci(n - 1) + calculateFibonacci(n - 2);
}
public static void main(String[] args) {
int position = 0;
int fibonacciNumber = calculateFibonacci(position);
System.out.println("The Fibonacci number at position " + position + " is: " + fibonacciNumber);
position = 3;
fibonacciNumber = calculateFibonacci(position);
System.out.println("\nThe Fibonacci number at position " + position + " is: " + fibonacciNumber);
position = 9;
fibonacciNumber = calculateFibonacci(position);
System.out.println("\nThe Fibonacci number at position " + position + " is: " + fibonacciNumber);
}
}