Terinspirasi oleh artikel WTF Harian terbaru ...
Tulis program atau fungsi yang menggunakan GUID (string dalam format XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
, di mana masing-masing X mewakili digit heksadesimal), dan output GUID bertambah satu.
Contohnya
>>> increment_guid('7f128bd4-b0ba-4597-8f35-3a2f2756dfbb')
'7f128bd4-b0ba-4597-8f35-3a2f2756dfbc'
>>> increment_guid('06b86883-f3e7-4f9d-87c5-a047e89a19fa')
'06b86883-f3e7-4f9d-87c5-a047e89a19fb'
>>> increment_guid('89f25f2f-2f7b-4aa6-b9d7-46a98e3cb2cf')
'89f25f2f-2f7b-4aa6-b9d7-46a98e3cb2d0'
>>> increment_guid('89f25f2f-2f7b-4aa6-b9d7-46a98e3cb29f')
'89f25f2f-2f7b-4aa6-b9d7-46a98e3cb2a0'
>>> increment_guid('8e0f9835-4086-406b-b7a4-532da46963ff')
'8e0f9835-4086-406b-b7a4-532da4696400'
>>> increment_guid('7f128bd4-b0ba-4597-ffff-ffffffffffff')
'7f128bd4-b0ba-4598-0000-000000000000'
Catatan
- Tidak seperti dalam artikel yang ditautkan, menambahkan GUID yang berakhir dengan F harus “membawa” ke digit hex sebelumnya. Lihat contoh di atas.
- Anda mungkin berasumsi bahwa input tidak akan
ffffffff-ffff-ffff-ffff-ffffffffffff
. - Untuk digit hex di atas 9, Anda dapat menggunakan case atas (AF) atau bawah (af).
- Ya, GUID dapat dimulai dengan a
0
. - Output Anda harus terdiri dari tepat 32 digit hex dan 4 tanda hubung dalam format yang diharapkan, termasuk setiap lead yang diperlukan
0
. - Anda tidak harus menyimpan nomor versi atau bit tetap GUID lainnya. Asumsikan itu hanya integer 128-bit di mana tidak ada bit yang memiliki arti khusus. Demikian pula, GUID diasumsikan mengurutkan dalam urutan leksikografis langsung daripada dalam urutan biner Windows
GUID
struct. - Jika menulis fungsi, input mungkin dari setiap urutan-of-
char
tipe data:string
,char[]
,List<char>
, dll
GUID
struct.
89f25f2f-2f7b-4aa6-b9d7-46a98e3cb29f
untuk memastikan bahwa jawaban dapat melakukan transisi 9 -> a
.
foreach (char ch in theInput)
.