Sebuah repdigit adalah nomor alami yang dapat ditulis sendiri oleh mengulangi angka yang sama. Misalnya, 777
adalah repdigit, karena hanya terdiri dari digit yang 7
diulang tiga kali.
Ini tidak terbatas pada angka desimal (basis 10) saja, namun:
- Setiap angka Mersenne (dalam bentuk M n = 2 n -1 ) adalah repdigit ketika ditulis dalam biner (basis 2).
- Setiap angka sepele adalah repdigit ketika ditulis dalam unary (basis 1).
- Setiap angka
n
juga dapat ditulis sepele sebagai repdigit11
dalam basisn-1
(misalnya,17
ketika ditulis dalam heksadesimal (basis 16) adalah11
, dan3
ketika ditulis dalam biner (basis 2) juga11
).
Tantangannya di sini adalah menemukan pangkalan - pangkalan lain di mana nomor input mungkin merupakan repdigit.
Memasukkan
Bilangan bulat positif x > 3
, dalam format apa pun yang nyaman.
Keluaran
Bilangan bulat positif b
dengan di (x-1) > b > 1
mana representasi x
dalam basis b
adalah repdigit.
- Jika tidak
b
ada, output0
atau nilai falsey . - Jika ada beberapa
b
, Anda dapat menampilkan salah satu atau semuanya.
Aturan
- The
(x-1) > b > 1
batasan adalah untuk mencegah konversi sepele untuk unary atau "salah satu kurangi" dasar. Nomor output dapat ditulis dalam unary atau basis yang nyaman, tetapi basis itu sendiri tidak boleh menjadi salah satu konversi sepele. - Input / output dapat melalui metode yang sesuai .
- Batasan celah standar berlaku.
Contohnya
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
sangat membatasi ruang lingkup masalah ini, dan semua jawaban yang ada benar menangani basis yang lebih besar, jadi saya akan mengatakan tidak, Anda tidak dapat mengasumsikan batas atas b
melampaui apa yang diberikan.
b ≤ 36
(fungsi konversi basis bawaan banyak bahasa tidak semakin tinggi)?