Utilizar um Loop para Gerar Termos
Neste passo, modificaremos o nosso programa anterior de sequência de Fibonacci para gerar a sequência usando um loop. Iremos construir sobre o código do passo anterior para criar a sequência de Fibonacci propriamente dita.
Vamos atualizar o ficheiro fibonacci.c:
cd ~/project
nano fibonacci.c
Agora, vamos modificar o código para gerar termos de Fibonacci usando um loop for:
#include <stdio.h>
int main() {
int n, first = 0, second = 1, next;
printf("Introduza o número de termos na sequência de Fibonacci: ");
scanf("%d", &n);
printf("Sequência de Fibonacci de %d termos: \n", n);
for (int i = 0; i < n; i++) {
if (i <= 1)
next = i;
else {
next = first + second;
first = second;
second = next;
}
printf("%d ", next);
}
printf("\n");
return 0;
}
Compile e execute o programa:
gcc fibonacci.c -o fibonacci
./fibonacci
Exemplo de saída:
Introduza o número de termos na sequência de Fibonacci: 10
Sequência de Fibonacci de 10 termos:
0 1 1 2 3 5 8 13 21 34
Explicação
- Inicializamos
first e second como os dois primeiros termos da sequência de Fibonacci
- O loop
for gera termos subsequentes adicionando os dois termos anteriores
next = first + second calcula o próximo termo
- Atualizamos
first e second em cada iteração para manter a progressão da sequência
- O loop continua até gerarmos o número especificado de termos