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.

Cominciamo!

#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");

}

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community