La Seqüència de Collatz
Enviar solució
Punts:
5
Temps Límit:
1.0s
Límit de memòria:
64M
Autor/a:
tipus del problema
Bucles simples, Strings
Categoria
Llenguatges permesos
C, C#, C++, Haskell, Java, Kotlin, Python
Aquest repte té bojos als matemàtics des de fa anys. Es tracta de la famosa seqüència de Collatz, també coneguda com “el problema del 3n+1”.
El que és graciós d’aquest problema és que ningú ha pogut demostrar matemàticament per què aplicant la seqüència sempre s’arriba a 1.
Tot comença amb un nombre enter positiu. El sistema funciona així:
- Si el nombre és parell: el dividim entre 2
- Si el nombre és senar: el multipliquem per 3 i li sumem 1
- Repetim aquestes operacions amb els diferents resultats i tard o d’hora arribarem al nombre 1
Heu de crear un programa que calculi aquesta seqüència a partir d’un nombre. Per exemple:
- Entrada: 6
- Sortida: 6-3-10-5-16-8-4-2-1
- Pas per pas:
Copy
6/2=3 3x3+1=10 10/2=5 5x3+1=16 16/2=8 8/2=4 4/2=2 2/2=1
Entrada
La primera línia és el nombre de casos a tractar. Cada cas consta d'una única línia que serà un nombre enter positiu.
Sortida
Una seqüència de nombres generada separada per guions.
Exemple d'Entrada
Copy
2
6
11
Exemple de Sortida
Copy
6-3-10-5-16-8-4-2-1
11-34-17-52-26-13-40-20-10-5-16-8-4-2-1
Comentaris