Funció de Siracusa P52109


Statement
 

pdf   zip

thehtml

Considereu el procés següent sobre qualsevol nombre natural n ≥ 1:

  • Si n és parell, el dividim per dos.
  • Si n és senar, el tripliquem i li sumem un.

La conjectura de Collatz, que té prop d’un segle, diu que començant en qualsevol natural aquest procés sempre arriba a 1.

Una funció estretament relacionada amb la conjectura de Collatz és la de Siracusa: Donat un n senar, li apliquem el procés de Collatz fins arribar de nou a un nombre senar. Per exemple, si n = 9, passem a n ′ = 3n + 1 = 28, d’aquí a n″ = n′/2 = 14, i d’aquí a n‴ = n″/2 = 7. Per tant, la funció de Siracusa aplicada a 9 dóna 7.

Donat un natural senar n, li podeu aplicar la funció de Siracusa?

Entrada

L’entrada consisteix en diversos naturals senars entre 1 i 106 + 1.

Sortida

Per a cada n, escriviu el resultat d’aplicar-li la funció de Siracusa.

Public test cases
  • Input

    1
    3
    5
    7
    9
    999999
    1000001
    

    Output

    1
    5
    1
    11
    7
    1499999
    750001
    
  • Information
    Author
    Víctor Martín
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++ Haskell Python