La conjetura de Collatz
Submit solution
Points:
10
Time limit:
5.0s
Memory limit:
256M
Author:
Problem types
Allowed languages
C#, Go, Java, Python
La conjetura de Collatz diu que, donat un nombre enter positiu \(N\) al qual se si repeteixen certes operacions, arribarà un moment en el qual \(N\) valdrà 1. Les operacions que cal realitzar (i repetir) per a modificar el valor de \(N\) són:
- Si el nombre és senar, multiplica-lo per tres i després afegeix-ne un.
- Si el nombre és parell, dividir-lo per dos.
Cal fer un programa que, donat el valor de \(N\), mostri per pantalla quantes vegades caldrà realitzar les operacions fins a aconseguir el valor \(N=1\).
Input Format
\(N\): Un nombre enter positiu
Constraints
- \(0 < N < 10^20\)
Output format
- Un nombre enter positiu que representa la quantitat de vegades que s'han fet les operacions fins que s'ha aconseguit que \(N\) valgui 1.
Test Case 1
Input
1
Output
0
Test Case 2
Input
3
Output
7
Test Case 3
Input
7
Output
16
Test Case 4
Input
27
Output
111
Test Case 5
Input
9663
Output
184
Test Case 6
Input
12345617
Output
259
CC BY-NC-SA 4.0