La conjetura de Collatz


Submit solution

Points: 10
Time limit: 5.0s
Memory limit: 256M

Author:
Problem types
Allowed languages
C#, Go, Java

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

Authorship: Thomas Dragutan

CC BY-NC-SA 4.0