El origen de la conjetura 3x+1
Al hablar de la historia de esta conjetura, Shizuo Kakutani dijo: Durante un mes, todos en la Universidad de Yale trabajaron para resolver este problema, pero fue en vano. Lo mismo parece estar sucediendo en la Universidad de Chicago. Algunas personas sospechan que este problema es una conspiración de la KGB soviética para obstaculizar el desarrollo de las matemáticas estadounidenses. Pero dudo que la KGB tuviera una visión matemática tan amplia. Este formulario es tan simple pero tan difícil de resolver que es realmente difícil de encontrar.
Los matemáticos han publicado muchos artículos serios sobre teoría de números sobre 3x+1, discutiendo este tema desde varios aspectos. Describiré estos desarrollos más adelante. Sin embargo, el problema en sí nunca se ha resuelto. Aún no sabemos si siempre obtendremos 1.
En 1996, B. Thwaites ofreció una recompensa de 1100 para solucionar este problema. Anoté el documento que proporciona la recompensa: thwaites, b. Two Agreements, or How to Win -100 Math. para recibir la recompensa. Por el bien del tío Qian, el problema 3x+1 tiene un nombre, llamado Conjetura de Thwaites.
Si realmente existe tal número natural, y realizamos repetidamente la transformación anterior, nunca obtendremos 1, entonces solo hay dos situaciones posibles.
1) Caer en otro ciclo diferente al 4→2→1. Podemos ver más adelante que si esto sucede, el número en dicho ciclo y la duración de este ciclo serán muy grandes;
2) No hay ciclo. En otras palabras, el resultado de cada transformación es diferente de todos los resultados obtenidos antes. De esta forma conseguiremos resultados cada vez mayores (claro que puede haber una reducción temporal, pero la tendencia general es que los resultados tiendan al infinito).
La programación en lenguaje C del algoritmo del problema 3x+1 es en realidad muy simple, e incluso los principiantes en lenguaje C pueden entenderla:
# include & ltstdio.h & gt
tronco largo()
{
long x, I, t
printf(entrada x:
scanf(% d,& ampx);
Hacer
{
if(x%2==0)
I = x/2 ;
Otro
I = 3 * x+1;
printf(%d, I);
x = I;
}
Y (x!=1);
devuelve 0;
}
Como se muestra en la figura Como se muestra, el resultado de la ejecución es 1 millón: