Це кодова версія для гольфу подібного питання, яку я задав у стеці раніше, але подумав, що це буде цікава загадка.
Давши рядок довжиною 10, який представляє базове число 36, збільште його на одне і поверніть отриману рядок.
Це означає, що рядки містять лише цифри від 0
до 9
та букви від a
до z
.
База 36 працює наступним чином:
Найбільш правильна цифра збільшується спочатку за допомогою 0
кнопок9
0000000000> 9 ітерацій> 0000000009
і після цього a
To z
використовується:
000000000a> 25 ітерацій> 000000000z
Якщо z
потрібно збільшувати, воно циклічно повертається до нуля, а цифра ліворуч збільшується:
000000010
Подальші правила:
- Ви можете використовувати великі і малі літери.
- Ви не можете скидати провідні нулі. І вхід, і вихід - це рядки довжиною 10.
- Вам не потрібно обробляти
zzzzzzzzzz
як вхід.
Випробування:
"0000000000" -> "0000000001"
"0000000009" -> "000000000a"
"000000000z" -> "0000000010"
"123456zzzz" -> "1234570000"
"00codegolf" -> "00codegolg"
"0zzzzzzzzz"
(змінити найбільш знакову цифру) як тестовий випадок. Він спрацьовував на моєму рішенні C через помилку, яка не вводилася.