Série de Fibonacci Usando Recursão

CBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como criar um programa C para imprimir a série de Fibonacci usando recursão. Uma série de Fibonacci é definida como uma série na qual cada número é a soma dos dois números anteriores, com 1, 1 sendo os dois primeiros elementos da série.

Criar um novo arquivo C

Crie um novo arquivo C chamado main.c no diretório ~/project/.

Incluir as bibliotecas necessárias

Inclua a biblioteca padrão de entrada/saída necessária stdio.h.

#include<stdio.h>

Definir a função printFibo

Defina uma função chamada printFibo com um parâmetro aj. Ela é usada para imprimir a série de Fibonacci.

void printFibo(int aj)
{
    static long int first = 0, second = 1, sum;
    if(aj > 1)
    {
        sum = first + second;
        first = second;
        second = sum;
        printf("%ld ", sum);
        printFibo(aj-1);    // recursive call
    }
    else
    {
        // after the elements, for line break
        printf("\n\n\n");
    }
}

Definir a função main

Defina a função principal (main). Receba a entrada do usuário para o número total de elementos na série de Fibonacci e passe-a para a função printFibo.

int main()
{
    printf("\n\n\t\tLabEx - Best place to learn\n\n\n");
    int k, n;
    long int i = 0, j = 1;
    printf("Enter the length of the Fibonacci series: ");
    scanf("%d", &n);
    printf("\n\nFirst %d terms of the Fibonacci series are:\n\n\n",n);
    printf("%d ", 1);
    printFibo(n);
    printf("\n\n\t\t\tCoding is Fun !\n\n\n");
    return 0;
}

Finalizar o código

Agora, o programa completo para imprimir a série de Fibonacci usando recursão é apresentado abaixo:

#include<stdio.h>

// declaring the function
void printFibo(int);

int main()
{
    printf("\n\n\t\tLabEx - Best place to learn\n\n\n");
    int k, n;
    long int i = 0, j = 1;
    printf("Enter the length of the Fibonacci series: ");
    scanf("%d", &n);
    printf("\n\nFirst %d terms of the Fibonacci series are:\n\n\n",n);
    printf("%d ", 1);
    printFibo(n);
    printf("\n\n\t\t\tCoding is Fun !\n\n\n");
    return 0;
}

void printFibo(int aj)
{
    static long int first = 0, second = 1, sum;
    if(aj > 1)
    {
        sum = first + second;
        first = second;
        second = sum;
        printf("%ld ", sum);
        printFibo(aj-1);    // recursive call
    }
    else
    {
        // after the elements, for line break
        printf("\n\n\n");
    }
}

Resumo

Neste laboratório, você aprendeu como criar um programa em C para imprimir a série de Fibonacci usando recursão. Agora você entende o processo de definição de funções e a utilização da recursão para iterar pela série necessária.