Open In App

Fibonacci problem (Value of Fib(N)*Fib(N) – Fib(N-1) * Fib(N+1))

Last Updated : 11 Jul, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

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:
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>


Output: 

1

 

Time Complexity: O(1)

Auxiliary Space: O(1)



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads