Palabra de Fibonacci

Como los números de Fibonacci , una palabra de Fibonacci . es una secuencia específica de dígitos binarios (o símbolos de cualquier alfabeto de dos letras). La palabra de Fibonacci se forma por concatenación repetida de la misma manera que los números de Fibonacci se forman por suma repetida. Pero a diferencia del número de Fibonacci, la palabra de Fibonacci tiene sus dos primeros términos diferentes entre sí. 

In Fibonacci word,
  S(0) = 0, 
  S(1) = 01, 
  S(2) = 010,
  S(3) = 01001
   ..... 
where S(n) = S(n-1) + S(n-2) and + 
represents the concatenation of 
strings. 

La tarea es encontrar la enésima palabra de Fibonacci para un número dado n.

Ejemplos: 

Input : n = 4
Output : S(4) = 01001010

Input : n = 2
Output : S(2) = 010

Al igual que en el programa del número de Fibonacci, usamos el concepto iterativo de encontrar el n-ésimo número de Fibonacci aquí para encontrar la n-ésima palabra de Fibonacci podemos usar el concepto iterativo. Entonces, para encontrar la n-ésima palabra de Fibonacci, tomaremos dos strings Sn y Sn_1 que representan S(n) y S(n-1) respectivamente y en cada iteración actualizaremos tmp = Sn, Sn = Sn + Sn_1 y Sn_1 = tmp de esta forma podemos encontrar la enésima palabra de fibonacci.

Implementación:

C++

// program for nth Fibonacci word
#include<bits/stdc++.h>
using namespace std;
 
// Returns n-th Fibonacci word
string fibWord(int n)
{
    string Sn_1 = "0";
    string Sn = "01";
    string tmp;
    for (int i=2; i<=n; i++)
    {
        tmp = Sn;
        Sn += Sn_1;
        Sn_1 = tmp;
    }
 
    return Sn;
}
 
// driver program
int main()
{
    int n = 6;
    cout << fibWord(n);
    return 0;
}

Java

// Java program for nth Fibonacci word
import java.util.*;
 
class Eulerian
{
    // Returns n-th Fibonacci word
    public static String fibWord(int n)
    {
        String Sn_1 = "0";
        String Sn = "01";
        String tmp;
        for (int i=2; i<=n; i++)
        {
            tmp = Sn;
            Sn += Sn_1;
            Sn_1 = tmp;
        }
 
        return Sn;
    }
     
    // driver code
    public static void main(String[] args)
    {
        int n = 6;
        System.out.print(fibWord(n));
    }
}
 
// This code is contributed by rishabh_jain

Python3

# Python3 program for nth Fibonacci word
 
# Returns n-th Fibonacci word
def fibWord(n):
    Sn_1 = "0"
    Sn = "01"
    tmp = ""
    for i in range(2, n + 1):
        tmp = Sn
        Sn += Sn_1
        Sn_1 = tmp
    return Sn
 
# driver program
n = 6
print (fibWord(n))
 
# This code is contributed by Sachin Bisht

C#

// C# program for nth Fibonacci word
using System;
 
class GFG
{
    // Returns n-th Fibonacci word
    public static String fibWord(int n)
    {
        String Sn_1 = "0";
        String Sn = "01";
        String tmp;
        for (int i = 2; i <= n; i++)
        {
            tmp = Sn;
            Sn += Sn_1;
            Sn_1 = tmp;
        }
 
        return Sn;
    }
     
    // Driver code
    public static void Main()
    {
        int n = 6;
        Console.WriteLine(fibWord(n));
    }
}
 
// This code is contributed by vt_m

Javascript

<script>
 
// program for nth Fibonacci word
 
// Returns n-th Fibonacci word
function fibWord(n)
{
    var Sn_1 = "0";
    var Sn = "01";
    var tmp;
    for (var i = 2; i <= n; i++)
    {
        tmp = Sn;
        Sn += Sn_1;
        Sn_1 = tmp;
    }
 
    return Sn;
}
 
// driver program
var n = 6;
document.write( fibWord(n));
 
// This code is contributed by noob2000.
</script>
Producción

010010100100101001010

Publicación traducida automáticamente

Artículo escrito por Shivam.Pradhan 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 *