import java.util.*;
public class FunctionExercise6 {
static Scanner scanner = new Scanner(System.in);
public static void main(String args[]) {
int N = 0;
System.out.print("How many terms : ");
N = scanner.nextInt();
if (N < 0) {
System.out.println("Please enter a positive integer");
} else {
PrintFibonacci(N);
}
System.out.print("Fibonacci at position " + N + "is ");
System.out.println("" + Fib(N) + ".");
}
public static void PrintFibonacci(int p1) {
int Count = 0;
int N1 = 0;
int N2 = 1;
int Nn = 0;
System.out.print("Fibonacci sequence upto " + p1 + " : ");
if (p1 == 1) {
Nn = N1;
System.out.print("" + N1 + " ");
} else {
while (Count < p1) {
System.out.print("" + N1 + " ");
Nn = N1 + N2;
N1 = N2;
N2 = Nn;
Count = Count + 1;
}
}
System.out.println(".");
}
public static int Fib(int p1) {
int RetVal = 0;
if (p1 < 0) {
System.out.println("Incorrect input.");
} else {
if (p1 == 0) {
RetVal = 0;
} else {
if (p1 == 1 || p1 == 2) {
RetVal = 1;
} else {
RetVal = Fib(p1 - 1) + Fib(p1 - 2);
}
}
}
return RetVal;
}
}