Fibonacci numbers
Lição 4 de 20 do curso Enigmas Matemáticos da Coddy.
Cada novo termo na sequência de Fibonacci é gerado pela soma dos dois termos anteriores.
a[n+2]=a[n]+a[n+1]Começando com 1 e 2, os primeiros 10 termos abaixo de 100 serão:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89.
A sequência de Fibonacci aparece no livro Liber Abaci (O Livro do Cálculo, 1202) de Fibonacci, onde é usada para calcular o crescimento de populações de coelhos. Fibonacci considera o crescimento de uma população de coelhos idealizada (biologicamente irrealista), assumindo que: um par de coelhos recém-nascidos é colocado em um campo; cada par reprodutor acasala com um mês de idade e, ao final do segundo mês, sempre produz outro par de coelhos; e os coelhos nunca morrem, mas continuam se reproduzindo para sempre. Fibonacci propôs o enigma: quantos pares haverá em um ano?
Ao final do n-ésimo mês, o número de pares de coelhos é igual ao número de pares maduros (ou seja, o número de pares no mês n – 2) mais o número de pares vivos no mês passado (mês n – 1). O número no n-ésimo mês é o n-ésimo número de Fibonacci. [Wikipedia, a enciclopédia livre]
Desafio
FácilEscreva um código em python calcFibonacciNums que receba um número natural, <i>N</i>, e retorne o número de termos da sequência de Fibonacci, começando com 1 e 2, cujos valores não excedam <i>N</i>.
Experimente você mesmo
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include "solution.h"
int main() {
int n;
if (scanf("%d", &n) != 1) n = 0;
int r = calcFibonacciNums(n);
printf("%d\n", r);
return 0;
}