La conjetura de Collatz
La conjetura de Collatz, también conocida como conjetura 3n+1 afirma que se puede llegar a 1 (La unidad) partiendo de cualquier número natural n con dos sencillas reglas. Lo que en realidad afirma es que es una serie convergente a 1.
Si n es par se divide por 2, es decir , n:2 y,
si es impar se multiplica por 3 y se suma 1, es decir 3n+1.
El siguiente código permite determinar la cantidad de pasos (operaciones) a partir de un número dado.
// conjCollatz.cpp
/* ****************************
Armando B. VERA
Prof. de Matemática e informática
**************************** */
#include <iostream>
#include <cstdlib>
using namespace std;
int main() {
long int n=0, np=0;
char salir='n';
while(salir=='n') {
np=0;
cout << "\n\t**************************";
cout << "\n\t Conjetura de Collatz ";
cout << "\n\t**************************";
cout << "Ingrese cualquier número entero: ";
cin >> n;
while(n!=1){
if(n%2==0){
n=n/2;
np++;
} else {
n=3*n+1;
np++;
}
}
cout << "\n\n\t\tCantidad de pasos: " << np << endl;
cout << "\n\n\t\tValor de n = " << n << endl;
cout << \n\n\n\tSalir s/n?
cin >> salir;
}
return 0;
}