mathlover24
Genius
1 min. di lettura
Vota 5 / 5

Concetti Chiave

  • La Congettura di Collatz è una sequenza numerica che inizia con un numero intero e segue regole specifiche fino a raggiungere 1.
  • Per i numeri pari, il numero viene diviso per due; per i numeri dispari, viene moltiplicato per tre e aumentato di uno.
  • Il programma C++ fornito genera e stampa la sequenza di Collatz per un numero intero inserito dall'utente.
  • Utilizza un ciclo while per continuare il processo finché il numero è maggiore di 1, calcolando il nuovo valore di n ad ogni iterazione.
  • Il codice include l'uso delle librerie standard, e permette di visualizzare la sequenza calcolata prima di terminare l'esecuzione.

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
#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