Numeri di Fibonacci
Lezione 4 di 20 del corso Indovinelli matematici di Coddy.
Ogni nuovo termine della successione di Fibonacci si genera sommando i due termini precedenti.
a[n+2]=a[n]+a[n+1]Partendo da 1 e 2, i primi 10 termini inferiori a 100 saranno:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89.
La successione di Fibonacci compare nel libro Liber Abaci (Il libro del calcolo, 1202) di Fibonacci, dove viene usata per calcolare la crescita delle popolazioni di conigli. Fibonacci considera la crescita di una popolazione di conigli idealizzata (biologicamente irrealistica), ipotizzando che: una coppia riproduttrice di conigli appena nati venga messa in un campo; ogni coppia riproduttrice si accoppi all'età di un mese e, alla fine del secondo mese, produca sempre un'altra coppia di conigli; e che i conigli non muoiano mai, ma continuino a riprodursi per sempre. Fibonacci pose il quesito: quante coppie ci saranno in un anno?
Alla fine del mese n, il numero di coppie di conigli è uguale al numero di coppie mature (cioè, il numero di coppie nel mese n – 2) più il numero di coppie vive il mese scorso (mese n – 1). Il numero nel mese n è l'n-esimo numero di Fibonacci. [Wikipedia, l'enciclopedia libera]
Sfida
FacileScrivi codice Python calcFibonacciNums che riceva un numero naturale, <i>N</i>, e restituisca il numero di termini della sequenza di Fibonacci, a partire da 1 e 2, i cui valori non superano <i>N</i>.
Provalo tu
#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;
}
Tutte le lezioni di Indovinelli matematici
Esercitati da solo: Compilatore C online