Um repdigit é um número natural que pode ser gravado apenas repetindo o mesmo dígito. Por exemplo, 777é um re-dígito, pois é composto exclusivamente pelo dígito 7repetido três vezes.
Isso não se limita a números decimais (base 10), no entanto:
- Todo número de Mersenne (no formato M n = 2 n -1 ) é um re-dígito quando escrito em binário (base 2).
- Todo número é trivialmente um repdigit quando escrito em unário (base 1).
- Cada número
ntambém pode ser trivialmente escrito como o repdigit11na basen-1(por exemplo,17quando escrito em hexadecimal (base 16)11, e3quando escrito em binário (base 2) também11).
O desafio aqui é encontrar outras bases nas quais o número de entrada possa ser um re-dígito.
Entrada
Um número inteiro positivo x > 3, em qualquer formato conveniente.
Saída
Um número inteiro positivo bem (x-1) > b > 1que a representação de xna base bé um re-dígito.
- Se não
bexistir, saída0ou algum valor falsey . - Se
bexistirem vários , você pode gerar um ou todos eles.
Regras
- A
(x-1) > b > 1restrição é impedir as conversões triviais em unárias ou na base "subtrair uma". O número de saída pode ser escrito em uma base unária ou em qualquer base conveniente, mas a base em si não deve ser uma das conversões triviais. - A entrada / saída pode ser feita por qualquer método adequado .
- Aplicam-se restrições de brecha padrão .
Exemplos
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 severamente o escopo desse problema, e todas as respostas existentes lidam corretamente com bases maiores, então vou dizer que não, você não pode assumir um limite superior balém do que é dado.

b ≤ 36(as funções básicas de conversão de base de muitos idiomas não aumentam)?