Repdigit jest liczbą naturalną, która może być napisany wyłącznie powtarzając tę samą cyfrę. Na przykład 777
jest repdigit, ponieważ składa się wyłącznie z cyfry 7
powtórzonej trzy razy.
Nie ogranicza się to jednak do liczb dziesiętnych (podstawa 10):
- Każda liczba Mersenne'a (w postaci M n = 2 n -1 ) jest powtórką, gdy jest zapisana w formacie binarnym (podstawa 2).
- Każda liczba jest w trywialny sposób powtórką, gdy jest zapisana jednoargumentowo (baza 1).
- Każda liczba
n
może być również trywialnie zapisana jako powtórka11
w bazien-1
(na przykład,17
gdy jest zapisana w systemie szesnastkowym (podstawa 16)11
, a3
gdy jest zapisana w formacie binarnym (podstawa 2) również11
).
Wyzwanie polega tutaj na znalezieniu innych podstaw, w których liczba wejściowa może być powtórką.
Wkład
Dodatnia liczba całkowita x > 3
, w dowolnym dogodnym formacie.
Wydajność
Dodatnia liczba całkowita, b
w (x-1) > b > 1
przypadku której reprezentacja x
w bazie b
jest repdigit.
- Jeśli takiego nie
b
ma, wartość wyjściowa0
lub pewna wartość falsey . - Jeśli
b
istnieje wiele takich , możesz wypisać jeden lub wszystkie z nich.
Zasady
(x-1) > b > 1
Ograniczeniem jest to, aby zapobiec trywialne konwersje jednoskładnikowa lub odejmowania „jeden” podstawy. Wyjście numer może być napisany w jednoargumentowego lub dowolnej wygodnej bazy, ale sama baza nie musi być jednym z błahych konwersji.- Wejście / wyjście może odbywać się dowolną odpowiednią metodą .
- Obowiązują standardowe ograniczenia dotyczące luk .
Przykłady
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
poważnie ogranicza zakres tego problemu, a wszystkie istniejące odpowiedzi poprawnie obsługują większe bazy, więc powiem, że nie, nie możesz założyć górnej granicy b
wykraczającej poza to, co podano.
b ≤ 36
(wbudowane funkcje konwersji wielu języków nie idą wyżej)?