Untuk menghormati berapa banyak perwakilan yang saya miliki beberapa jam yang lalu, ketika saya pertama kali memikirkan tantangan ini:
Angka-angka seperti ini yang terdiri dari pengulangan satu digit disebut repdigits . Repdigits itu menyenangkan! Setiap orang akan lebih senang jika jumlah rep yang mereka miliki adalah repdigit ¹ , tetapi saya tidak sabar, jadi Anda perlu membantu saya menemukan cara tercepat untuk sampai ke repdigit.
Inilah tantangan Anda:
Dengan bilangan bulat positif yang mewakili reputasi, berikan jumlah minimum rep yang harus mereka peroleh untuk mencapai repdigit. Misalnya, pada saat menulis tantangan ini, pengguna Martin Ender memiliki 102.856 rep. Rep-digit terdekat adalah 111,111, jadi dia harus mendapatkan: 8255 rep untuk berada di repdigit.
Karena orang tidak suka kehilangan perwakilan, kami hanya akan mempertimbangkan perubahan non-negatif. Ini berarti bahwa, misalnya, jika seseorang pada 12 rep, daripada kehilangan 1 rep, solusinya adalah mendapatkan 10 rep. Ini memungkinkan '0' menjadi output yang valid, karena siapa pun yang memiliki 111 rep sudah berada di repdigit.
Input dan output dapat dalam format yang masuk akal , dan karena tidak mungkin memiliki kurang dari 1 rep di situs Stack Exchange, Anda dapat mengasumsikan tidak ada input yang kurang dari 1.
Satu cornercase yang perlu diperhatikan:
Jika pengguna memiliki kurang dari 10 rep, mereka sudah di repdigit, dan mereka juga membutuhkan '0'.
Tes IO:
#Input #Ouput
8 0
100 11
113 109
87654321 1234567
42 2
20000 2222
11132 11090
Celah standar berlaku, dan solusi terpendek dalam byte menang!
110
harus memberi 1
, meskipun tidak ada cara untuk mendapatkan satu perwakilan.