Fibonacci problem (Value of Fib(N)*Fib(N) – Fib(N-1) * Fib(N+1))
Given a positive integer N, the task is to find Fib(N)2 – (Fib(N-1) * Fib(N+1)) where Fib(N) returns the Nth Fibonacci number.
Examples:
Input: N = 3
Output: 1
Fib(3) * Fib(3) – Fib(2) * Fib(4) = 4 – 3 = 1
Input: N = 2
Output: -1
Fib(2) * Fib(2) – Fib(1) * Fib(3) = 1 – 2 = -1
Approach: This question can be approached by first trying out a few test cases. Let’s take a few examples:
For N = 1 : Fib(1) * Fib(1) – Fib(0) * Fib(2) = 1 – 0 = 1
For N = 2 : Fib(2) * Fib(2) – Fib(1) * Fib(3) = 1 – 2 = -1
For N = 3 : Fib(3) * Fib(3) – Fib(2) * Fib(4) = 4 – 3 = 1
For N = 4 : Fib(4) * Fib(4) – Fib(3) * Fib(5) = 9 – 10 = -1
We observe here that when N is even then the answer will be -1 and when the N is odd then the answer will be 1.
Below is the implementation of the above approach:
C++
// C++ implementation of the approach #include <iostream> using namespace std; int getResult( int n) { if (n & 1) return 1; return -1; } // Driver code int main() { int n = 3; cout << getResult(n); } |
Java
//Java implementation of the approach import java.io.*; class GFG { static int getResult( int n) { if ((n & 1 )> 0 ) return 1 ; return - 1 ; } // Driver code public static void main (String[] args) { int n = 3 ; System.out.println(getResult(n)); } //This code is contributed by @Tushil. } |
Python3
# Python 3 implementation of # the approach def getResult(n): if n & 1 : return 1 return - 1 # Driver code n = 3 print (getResult(n)) # This code is contributed # by Shrikant13 |
C#
//C# implementation of the approach using System; class GFG { static int getResult( int n) { if ((n & 1)>0) return 1; return -1; } // Driver code public static void Main () { int n = 3; Console.WriteLine(getResult(n)); } //This code is contributed by anuj_67.. } |
PHP
<?php // PHP implementation of the approach function getResult( $n ) { if ( $n & 1) return 1; return -1; } // Driver code $n = 3; echo getResult( $n ); // This code is contributed by akt_mit ?> |
Javascript
<script> // Javascript implementation of the approach function getResult(n) { if ((n & 1)>0) return 1; return -1; } let n = 3; document.write(getResult(n)); </script> |
1
Time Complexity: O(1)
Auxiliary Space: O(1)