Imparare a programmare in C++ | #10 | Successione di Fibonacci

Imparare a programmare in C++ - Successione di Fibonacci

Imparare a programmare in C++ | #10 | Successione di Fibonacci: La sequenza di Fibonacci scritta in C++.

Tempo di lettura stimato: 3 minuti

Imparare a programmare in C++ | #10 | Successione di Fibonacci

La successione di Fibonacci è una sequenza di numeri interi, ottenuti sommando i due numeri precedenti.

In questo articolo vedremo come creare un semplice programma in C++ che mostra questa sequenza.

Ci sono diversi metodi per ottenere questo risultato, possiamo usare 2 o più variabili, usare un ciclo For o un ciclo While.

Possiamo anche salvare tutti i valori all’interno di una variabile di tipo stringa.

Il metodo che vedremo in questo tutorial è il più semplice, quello che permette di ottenere il risultato con circa 20 righe di codice.

Successione Aurea o Successione di Fibonacci in C++

La struttura del nostro programma sarà molto semplice, andremo a creare 2 variabili che contengono i 2 numeri iniziali.

Quindi con un ciclo For andremo a mostrare i primi 10 valori della successione.

Dopo aver mostrato ogni valore andremo a modificare la variabile che contiene il valore più basso sostituendolo con la somma dei 2 valori.

Questo è quindi il codice finale:

#include <iostream>
using namespace std;

/* 0 1 1 2 3 5 8 13 21 34 55 */

int main() {
	int Numero1 = 0;
	int Numero2 = 1;
	cout << Numero1 << " " << Numero2 << " ";
	for (int a = 0; a <= 10; a++)
	{
		cout << Numero1 + Numero2 << " ";
		if (Numero1 < Numero2)
		{
			Numero1 = Numero1 + Numero2;
		}
		else
		{
			Numero2 = Numero1 + Numero2;
		}
	}
	return 0;
}

Il primo cout ci permette di mostrare i 2 valori iniziali (0 ed 1), quello interno al ciclo for invece aggiungerà di volta in volta la somma dei 2 valori.

Con L’If andiamo a controllare quale delle 2 variabili ha il valore più basso e lo sostituiamo con la somma dei 2 valori.

ESERCIZIO

Partendo dal codice precedente effettua due modifiche:

  1. Chiedi all’utente quante volte deve essere ripetuto il ciclo For
  2. Chiedi all’utente quali sono i 2 valori dai quali vuole iniziare
  3. Sostituisci quindi il valore 10 del ciclo For con il numero scelto dall’utente
  4. Sostituisci i valori 0 ed 1 delle 2 variabili con quelli scelti dall’utente

Mostra Soluzione

#include <iostream>
using namespace std;

int main() {
	int Numero1, Numero2, Ripetizioni;
	cout << "Inserisci il primo numero:" << endl;
	cin >> Numero1;
	cout << "Inserisci il secondo numero:" << endl;
	cin >> Numero2;
	cout << "Quanti numeri vuoi mostrare?" << endl;
	cin >> Ripetizioni;
	cout << Numero1 << " " << Numero2 << " ";
	for (int a = 1; a <= Ripetizioni; a++)
	{
		cout << Numero1 + Numero2 << " ";
		if (Numero1 < Numero2)
		{
			Numero1 = Numero1 + Numero2;
		}
		else
		{
			Numero2 = Numero1 + Numero2;
		}
	}
	return 0;
}

Video