Son bir Günlük WTF makalesinden esinlenildi ...
Bir GUID alan bir program veya işlev yazın ( XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
her X'in onaltılık bir basamağı temsil ettiği biçimdeki dize ) ve GUID değerini birer birer artırır.
Örnekler
>>> 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'
notlar
- Bağlantılı makalenin aksine, F ile biten bir GUID'in arttırılması önceki onaltılık basamağa “taşımak” zorundadır. Yukarıdaki örneklere bakınız.
- Girişin olmayacağını varsayabilirsiniz
ffffffff-ffff-ffff-ffff-ffffffffffff
. - 9'un üzerindeki altıgen rakamlar için üst (AF) veya küçük (af) harf kullanabilirsiniz.
- Evet, GUID'ler a ile başlayabilir
0
. - Çıktınız , gerekli tüm yönlendirmeler de dahil olmak üzere beklenen biçimde tam olarak 32 onaltılık rakam ve 4 tire içermelidir
0
. - GUID'in sürüm numarasını veya diğer sabit bitlerini saklamanız gerekmez. Bitlerin hiçbirinin özel bir anlamı olmayan, sadece 128 bit bir tam sayı olduğunu varsayalım. Benzer şekilde, GUID'lerin bir Windows
GUID
yapısının ikili düzeninden ziyade basit bir sözlükbilimsel düzende sıralandığı varsayılmaktadır . - Bir işlevi yazma, giriş, her türlü dizi-of olabilir
char
veri türü:string
,char[]
,List<char>
vs.
GUID
yapısının ikili düzeninden ziyade basit bir sözlükbilimsel düzende sıralandığı varsayılmaktadır .
89f25f2f-2f7b-4aa6-b9d7-46a98e3cb29f
cevapların geçişi sağlayabilmesini sağlamak için 9 -> a
.
foreach (char ch in theInput)
.