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.
- Sum of Fibonacci Numbers
- GCD and Fibonacci Numbers
- Even Fibonacci Numbers Sum
- Sum of Fibonacci Numbers in a range
- C Program for Fibonacci numbers
- Sum of squares of Fibonacci numbers
- Alternate Fibonacci Numbers
- Program for Fibonacci numbers
- The Magic of Fibonacci Numbers
- Find the sum of first N odd Fibonacci numbers
- Prime numbers and Fibonacci
- Large Fibonacci Numbers in Java
- Interesting facts about Fibonacci numbers
- Find the GCD of N Fibonacci Numbers with given Indices
- Program to print first n Fibonacci Numbers | Set 1