Un repdigit es un número natural que se puede escribir únicamente repitiendo el mismo dígito. Por ejemplo, 777
es un repdigit, ya que está compuesto únicamente por el dígito 7
repetido tres veces.
Sin embargo, esto no se limita simplemente a números decimales (base 10):
- Cada número de Mersenne (de la forma M n = 2 n -1 ) es un digito cuando se escribe en binario (base 2).
- Cada número es trivialmente un digito cuando se escribe en unario (base 1).
- Cada número
n
también se puede escribir trivialmente como el dígito11
de referencia en basen-1
(por ejemplo,17
cuando se escribe en hexadecimal (base 16)11
, y3
cuando se escribe en binario (base 2) también11
).
El desafío aquí es encontrar otras bases donde el número de entrada puede ser un digito.
Entrada
Un entero positivo x > 3
, en cualquier formato conveniente.
Salida
Un entero positivo b
con (x-1) > b > 1
donde la representación de x
en base b
es un digito.
- Si no
b
existe, salida0
o algún valor falso . - Si
b
existen varios de estos , puede generar uno o todos ellos.
Reglas
- La
(x-1) > b > 1
restricción es evitar las conversiones triviales a base unaria o "restar una". El número de salida se puede escribir en unario o en cualquier base conveniente, pero la base en sí no debe ser una de las conversiones triviales. - La entrada / salida puede ser a través de cualquier método adecuado .
- Se aplican restricciones de escapatoria estándar .
Ejemplos
In --> Out
11 --> 0 (or other falsey value)
23 --> 0 (or other falsey value)
55 --> 10 (since 55 is 55 in base 10)
90 --> 14 (since 90 is 66 in base 14 ... 17, 29, 44 also allowed)
91 --> 9 (since 91 is 111 in base 9 ... 12 also allowed)
b ≤ 36
que limita severamente el alcance de este problema, y todas las respuestas existentes manejan correctamente bases más grandes, por lo que voy a decir que no, no puede asumir un límite superior b
más allá de lo que se da.
b ≤ 36
(las funciones de conversión de base incorporadas en muchos idiomas no van más arriba)?