<prompt> Kwa kuzingatia nambari kamili n inayowakilishwa kama mfuatano, rudisha _msingi mdogo zaidi mzuri wa_ n.Tunaita k 2 msingi mzuri wa n, ikiwa tarakimu zote za n msingi k ni 1.Mfano wa 1:Ingizo: n 13Pato: 3Maelezo: 13 msingi 3 ni 111.Mfano wa 2:Ingizo: n 4681Pato: 8Maelezo: 4681 msingi 8 ni 11111.Mfano wa 3:Ingizo: n 1000000000000000000Pato: 999999999999999999Maelezo: 100000000000000000 msingi 999999999999999999 ni 11.Vikwazo: n ni nambari kamili katika safu 3, 1018. n haina sufuri zozote zinazoongoza.  <response>: chatudef smallest_good_basen: str - str: num_n intn kwa m katika safu intnum_n.bit_length, 0, -1: k intnum_n 1.0 m ikiwa jumla ki kwa i katika masafam1 num_n: kurudi strk kurudi -1maelezo1. Kwanza tunabadilisha mfuatano uliopewa n kuwa nambari kamili katika umbizo husika kwa kila lugha2. Tunapitia thamani zinazowezekana za m idadi ya tarakimu katika msingi k kwa mpangilio wa kinyume.3. Tunakokotoa thamani ya k kwa kutumia k n1m kwa kutumia kiendesha umeme katika chatu na JS na chaguo za kukokotoa pow katika C na Java4. Tunakokotoa jumla ya mfululizo k0 k1 ... km ambayo itatupa thamani wakati tarakimu zote za n ni 1 katika msingi k.5. Ikiwa jumla ya mfululizo ni sawa na n, tulipata msingi mdogo kabisa mzuri na kuurudisha6. Ikiwa hatujapata msingi mzuri mwishoni mwa kitanzi, rudisha -1 jambo ambalo halipaswi kutokea kutokana na taarifa ya tatizo 