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