Concetti Chiave

  • La Congettura di Collatz rimane nondimostrata e riguarda una sequenza di numeri interi.
  • La sequenza inizia da un numero intero n e segue due regole basate sulla parità del numero.
  • Se n è pari, viene diviso per 2; se dispari, viene moltiplicato per 3 e aumentato di 1.
  • L'algoritmo implementa queste regole e continua a modificare n fino a raggiungere 1.
  • Il programma richiede un input dall'utente, che inizia la generazione della sequenza.

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 da interrogazione

  1. Che cos'è la Congettura di Collatz e qual è il suo stato attuale?
  2. La Congettura di Collatz è una sequenza finita di numeri interi che parte da un numero intero n e segue due regole: se n è pari, viene diviso per due; se n è dispari, viene moltiplicato per 3 e aumentato di 1. Attualmente, la congettura non è stata ancora dimostrata.

  3. Come funziona l'algoritmo per generare la sequenza di Collatz?
  4. L'algoritmo inizia chiedendo all'utente di inserire un numero intero n. Finché n è maggiore di 1, se n è pari, viene diviso per 2; se è dispari, viene moltiplicato per 3 e aumentato di 1. Il processo continua fino a quando n diventa 1.

  5. Qual è il ruolo delle variabili n e r nell'algoritmo?
  6. Nell'algoritmo, n è il numero intero inserito dall'utente e viene modificato durante il processo per generare la sequenza di Collatz. La variabile r è utilizzata per determinare se n è pari o dispari, calcolando n modulo 2.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community