Given a positive integer n, the task is to print the n’th non Fibonacci number. The Fibonacci numbers are defined as:
Fib(0) = 0 Fib(1) = 1 for n >1, Fib(n) = Fib(n-1) + Fib(n-2)
First few Fibonacci numbers are 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 141, ……..
Input : n = 2 Output : 6 Input : n = 5 Output : 10
A naive solution is to find find Fibonacci numbers and then print first n numbers not present in the found Fibonacci numbers.
A better solution is to use the formula of Fibonacci numbers and keep adding of gap between two consecutive Fibonacci numbers. Value of sum of gap is count of non-fibonacci numbers seen so far. Below is implementation of above idea.
Time Complexity : O(n)
Auxiliary Space : O(1)
The above problem and solution are contributed by Hemang Sarkar. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
- GCD and Fibonacci Numbers
- Even Fibonacci Numbers Sum
- Sum of Fibonacci Numbers
- Find the sum of first N odd Fibonacci numbers
- The Magic of Fibonacci Numbers
- Sum of Fibonacci Numbers in a range
- Sum of squares of Fibonacci numbers
- Alternate Fibonacci Numbers
- Program for Fibonacci numbers
- Prime numbers and Fibonacci
- C Program for Fibonacci numbers
- Large Fibonacci Numbers in Java
- Find the GCD of N Fibonacci Numbers with given Indices
- Program to print first n Fibonacci Numbers | Set 1
- Sum of all Non-Fibonacci numbers in a range for Q queries