La Congettura di Collatz è una congettura che non è stata ancora dimostrata.
Essa è una sequenza finita di numeri interi. Partendo da un numero intero n:
n viene diviso per due;
n viene moltiplicato per 3 e aumentato di 1.
Descrizione dell'algoritmo
Oggi andremo a realizzare un algoritmo che ci stampi tutta la sequenza relativa ad un qualsiasi numero.
#include
#include
using namespace std;
int main()
{
int n, r; //nominiamo due variabili, n ed r.
cout
//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
}
system("pause");
}