Ominide 1471 punti

C++ - Congettura di Collatz


Ma che cos'è la Congettura di Collatz?
La Congettura di Collatz è una congettura che non è stata ancora dimostrata.
Essa è una sequenza finita di numeri interi. Partendo da un numero intero n:
Se n è pari, allora:
n viene diviso per due;
Altrimenti, se n è dispari:
n viene moltiplicato per 3 e aumentato di 1.
Oggi andremo a realizzare un algoritmo che ci stampi tutta la sequenza relativa ad un qualsiasi numero.
Cominciamo!
#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
int n, r; //nominiamo due variabili, n ed r.
cout<<"Inserisci un numero intero"<<endl;
//Facciamo in modo che il programma ci stampi un messaggio che ci inviti ad inserire un numero intero.

cin>>n; //Il programma riceve un input, cioè n;
while(n > 1){ //Ripetiamo le seguenti istruzioni mentre n è maggiore di 1
r = n % 2; //Definiamo r come n modulo 2
if(r == 0){ //Se r è uguale a 0, il che vuol dire che n è pari
n = n/2; //Si divide n per 2
}else{
n = n * 3 + 1; //Altrimenti n viene triplicato e aumentato di 1
}
cout<<n<<endl; //Alla fine dell'if si stampa il numero rilevato e la sequenza riparte
}
system("pause");

}

Hai bisogno di aiuto in Informatica?
Trova il tuo insegnante su Skuola.net | Ripetizioni
Registrati via email
Consigliato per te
Sequenza di Fibonacci C++