Fibonacci problem (Value of Fib(N)*Fib(N) – Fib(N-1) * Fib(N+1))
Last Updated :
11 Jul, 2022
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++
#include <iostream>
using namespace std;
int getResult( int n)
{
if (n & 1)
return 1;
return -1;
}
int main()
{
int n = 3;
cout << getResult(n);
}
|
Java
import java.io.*;
class GFG {
static int getResult( int n)
{
if ((n & 1 )> 0 )
return 1 ;
return - 1 ;
}
public static void main (String[] args) {
int n = 3 ;
System.out.println(getResult(n));
}
}
|
Python3
def getResult(n):
if n & 1 :
return 1
return - 1
n = 3
print (getResult(n))
|
C#
using System;
class GFG {
static int getResult( int n)
{
if ((n & 1)>0)
return 1;
return -1;
}
public static void Main () {
int n = 3;
Console.WriteLine(getResult(n));
}
}
|
PHP
<?php
function getResult( $n )
{
if ( $n & 1)
return 1;
return -1;
}
$n = 3;
echo getResult( $n );
?>
|
Javascript
<script>
function getResult(n)
{
if ((n & 1)>0)
return 1;
return -1;
}
let n = 3;
document.write(getResult(n));
</script>
|
Time Complexity: O(1)
Auxiliary Space: O(1)
Share your thoughts in the comments
Please Login to comment...