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

author avatar
Claudio Masci
Sono innanzitutto un appassionato di informatica e tecnologia in generale. Lavoro in ambito informatico da circa 16 anni, spaziando in diversi campi, andando dalla programmazione web, allo sviluppo di software, dalla grafica alla modellazione 3d ed al video editing, ho sempre voluto approfondire ogni aspetto e questo mi ha permesso di lavorare in diversi ambiti informatici.