Dados tres enteros A , B y N . Una serie personalizada de Fibonacci se define como F(x) = F(x – 1) + F(x + 1) donde F(1) = A y F ( 2) = B. Ahora la tarea es encontrar el término N. de esta serie
Ejemplos:
Entrada: A = 10, B = 17, N = 3
Salida: 7
10, 17, 7, -10, -17, …
Entrada: A = 50, B = 12, N = 10
Salida: -50
Enfoque: Se puede observar que la serie continuará como A, B, B – A, -A, -B, A – B, A, B, B – A, …
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ implementation of the Custom Fibonacci series #include <bits/stdc++.h> using namespace std; // Function to return the nth term // of the required sequence int nth_term(int a, int b, int n) { int z = 0; if (n % 6 == 1) z = a; else if (n % 6 == 2) z = b; else if (n % 6 == 3) z = b - a; else if (n % 6 == 4) z = -a; else if (n % 6 == 5) z = -b; if (n % 6 == 0) z = -(b - a); return z; } // Driver code int main() { int a = 10, b = 17, n = 3; cout << nth_term(a, b, n); return 0; }
Java
// Java implementation of the // Custom Fibonacci series class GFG { // Function to return the nth term // of the required sequence static int nth_term(int a, int b, int n) { int z = 0; if (n % 6 == 1) z = a; else if (n % 6 == 2) z = b; else if (n % 6 == 3) z = b - a; else if (n % 6 == 4) z = -a; else if (n % 6 == 5) z = -b; if (n % 6 == 0) z = -(b - a); return z; } // Driver code public static void main(String[] args) { int a = 10, b = 17, n = 3; System.out.println(nth_term(a, b, n)); } } // This code is contributed by Rajput-Ji
Python 3
# Python 3 implementation of the # Custom Fibonacci series # Function to return the nth term # of the required sequence def nth_term(a, b, n): z = 0 if (n % 6 == 1): z = a elif (n % 6 == 2): z = b elif (n % 6 == 3): z = b - a elif (n % 6 == 4): z = -a elif (n % 6 == 5): z = -b if (n % 6 == 0): z = -(b - a) return z # Driver code if __name__ == '__main__': a = 10 b = 17 n = 3 print(nth_term(a, b, n)) # This code is contributed by Surendra_Gangwar
C#
// C# implementation of the // Custom Fibonacci series using System; class GFG { // Function to return the nth term // of the required sequence static int nth_term(int a, int b, int n) { int z = 0; if (n % 6 == 1) z = a; else if (n % 6 == 2) z = b; else if (n % 6 == 3) z = b - a; else if (n % 6 == 4) z = -a; else if (n % 6 == 5) z = -b; if (n % 6 == 0) z = -(b - a); return z; } // Driver code static public void Main () { int a = 10, b = 17, n = 3; Console.Write(nth_term(a, b, n)); } } // This code is contributed by ajit.
Javascript
<script> // javascript implementation of the // Custom Fibonacci series // Function to return the nth term // of the required sequence function nth_term(a , b , n) { var z = 0; if (n % 6 == 1) z = a; else if (n % 6 == 2) z = b; else if (n % 6 == 3) z = b - a; else if (n % 6 == 4) z = -a; else if (n % 6 == 5) z = -b; if (n % 6 == 0) z = -(b - a); return z; } // Driver code var a = 10, b = 17, n = 3; document.write(nth_term(a, b, n)); // This code is contributed by Rajput-Ji </script>
Producción:
7
Complejidad de tiempo: O(1)
Espacio Auxiliar: O(1)