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.
#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
- Che cos'è la Congettura di Collatz e qual è il suo stato attuale?
- Come funziona l'algoritmo per generare la sequenza di Collatz?
- Qual è il ruolo delle variabili n e r nell'algoritmo?
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.
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.
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.