Ini adalah versi kode golf dari pertanyaan serupa yang saya tanyakan di stack sebelumnya tetapi saya pikir itu akan menjadi teka-teki yang menarik.
Diberikan string dengan panjang 10 yang mewakili nomor basis 36, menambahnya dengan satu dan mengembalikan string yang dihasilkan.
Ini berarti string hanya akan berisi digit dari 0
ke 9
dan surat dari a
ke z
.
Basis 36 berfungsi sebagai berikut:
Digit paling kanan bertambah, pertama dengan menggunakan 0
untuk9
0000000000> 9 iterasi> 0000000009
dan setelah itu a
ke z
digunakan:
000000000a> 25 iterasi> 000000000z
Jika z
perlu ditingkatkan, loop kembali ke nol dan digit ke kiri bertambah:
000000010
Aturan lebih lanjut:
- Anda dapat menggunakan huruf besar atau huruf kecil.
- Anda tidak boleh menjatuhkan angka nol di depan. Baik input dan output adalah string dengan panjang 10.
- Anda tidak perlu menangani
zzzzzzzzzz
sebagai input.
Kasus uji:
"0000000000" -> "0000000001"
"0000000009" -> "000000000a"
"000000000z" -> "0000000010"
"123456zzzz" -> "1234570000"
"00codegolf" -> "00codegolg"
"0zzzzzzzzz"
(memodifikasi digit paling signifikan) sebagai test case. Itu tersandung solusi C saya karena off-by-one-error.