Dado un número entero N. La tarea es encontrar el N número impar de Fibonacci.
La serie impar de fibonacci es como:
1, 1, 3, 5, 13, 21, 55, 89, 233, 377, 987, 1597………….y así sucesivamente.
Nota : En la serie anterior hemos omitido términos pares de la sucesión general de Fibonacci .
Ejemplos:
Input: N = 3 Output: 3 Input: N = 4 Output: 5
Planteamiento:
Al observar detenidamente, se puede deducir que cada tercer número de Fibonacci es par, por lo que el N -ésimo número impar de Fibonacci es el {(3*N+1)/2} -ésimo término en la sucesión general de Fibonacci.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program for Nth odd fibonacci number #include <bits/stdc++.h> using namespace std; // Function to find nth odd fibonacci number int oddFib(int n) { n = (3 * n + 1) / 2; int a = -1, b = 1, c, i; for (i = 1; i <= n; i++) { c = a + b; a = b; b = c; } return c; } // Driver Code int main() { int n = 4; cout << oddFib(n); return 0; }
Java
// Java program for Nth odd fibonacci number class GFG { // Function to find nth odd fibonacci number static int oddFib(int n) { n = (3 * n + 1) / 2; int a = -1, b = 1, c = 0, i; for (i = 1; i <= n; i++) { c = a + b; a = b; b = c; } return c; } // Driver Code public static void main (String[] args) { int n = 4; System.out.println(oddFib(n)); } } // This code is contributed by AnkitRai01
Python3
# Python3 program for Nth odd fibonacci number # Function to find nth odd fibonacci number def oddFib(n): n = (3 * n + 1) // 2 a = -1 b = 1 c = 0 for i in range(1, n + 1): c = a + b a = b b = c return c # Driver Code n = 4 print(oddFib(n)) # This code is contributed by mohit kumar
C#
// C# program for Nth odd fibonacci number using System; class GFG { // Function to find nth odd fibonacci number static int oddFib(int n) { n = (3 * n + 1) / 2; int a = -1, b = 1, c = 0, i; for (i = 1; i <= n; i++) { c = a + b; a = b; b = c; } return c; } // Driver Code public static void Main (String[] args) { int n = 4; Console.WriteLine(oddFib(n)); } } // This code is contributed by 29AjayKumar
Javascript
<script> // JavaScript program for Nth odd fibonacci number // Function to find nth odd fibonacci number function oddFib(n) { n = (3 * n + 1) / 2; var a = -1, b = 1, c, i; for (i = 1; i <= n; i++) { c = a + b; a = b; b = c; } return c; } // Driver Code var n = 4; document.write(oddFib(n)); </script>
Producción:
5
Complejidad de tiempo: O(N)
Espacio Auxiliar: O(1)