Enésimo término de una serie de Fibonacci personalizada

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:
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)

Publicación traducida automáticamente

Artículo escrito por spp____ y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *