Nombre unidígit P77392


Statement
 

pdf   zip

thehtml

Un nombre n es diu que és unidígit en base b si tots els dígits de la seva representació tenen el mateix valor, és a dir, es pot representar com

n = d· bk + d· bk−1 + ⋯ + d· b + d = d · (bk + bk−1 + ⋯ + b + 1)

per algun valor de k i amb d < b.

Per exemple, 777 és unidígit en base 10, 15 és unidígit en base 2 (representació binària: 1111) i 2324517 és unidígit en base 56, atès que

2324517 = 13 · (563 + 562 + 56 + 1).

Observacions: tots els nombres 0,…,b−1 són unidígit en base b (i només tenen un dígit) i tot nombre n≥ 3 es pot representar en base n−1 com a 11.

Feu un programa que, donada una seqüència de nombres naturals, per a cada nombre escrigui la base b≥ 2 més petita amb la que es pot representar com un nombre unidígit i el dígit d d’aquella representació.

Public test cases
  • Input

    777
    2324517
    0
    1
    2
    3
    9834577365
    9999

    Output

    6 3
    56 13
    2 0
    2 1
    3 2
    2 1
    105696 93045
    10 9
    
  • Information
    Author
    Jordi Cortadella
    Language
    Catalan
    Official solutions
    Python
    User solutions
    Python