Bir UUID'ye ihtiyacım var. Senin işin bir tane yaratmak.
Standart UUID (Evrensel Benzersiz Tanımlayıcı), belirli noktalara tireler eklenmiş 32 basamaklı bir onaltılık sayıdır.Program , rastgele onaltılık bir sayı olan xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
( 8-4-4-4-12
basamak) şeklinde 32 onaltılık basamak (128 bit) vermelidir x
. Dilinizin PRNG'sinin mükemmel olduğunu varsayarsak, tüm geçerli çıktıların üretilme olasılığı aynı olmalıdır.
TL; DR
Form 8-4-4-4-12
basamaklarında 32 rastgele onaltılık basamak oluşturun . En kısa kod kazanır.
DÜZENLEME: Onaltılık olmalıdır. Her zaman yalnızca ondalık oluşturma geçersizdir. EDIT 2: Yerleşik yok. Bunlar GUID değil, sadece genel onaltılık basamaklardır.
Örnek çıktı:
ab13901d-5e93-1c7d-49c7-f1d67ef09198
7f7314ca-3504-3860-236b-cface7891277
dbf88932-70c7-9ae7-b9a4-f3df1740fc9c
c3f5e449-6d8c-afe3-acc9-47ef50e7e7ae
e9a77b51-6e20-79bd-3ee9-1566a95d9ef7
7b10e43c-3c57-48ed-a72a-f2b838d8374b
Giriş ve standart boşluklara izin verilmiyor.
Bu kod golf , bu yüzden en kısa kod kazanır. Ayrıca, açıklama istemekten çekinmeyin.
12345678-1234-1234-1234-123456789012
geçerli bir UUID olmalıdır (veya herhangi bir onaltılık basamak gerekli mi?). Bunun bir boşluk olduğunu düşünüyor musunuz?
xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
nerede y
biridir [89AB]
. Bu yorum sırasında, cevapların hiçbirinin (yerleşik bir kütüphane kullanarak C # hariç) geçerli bir rastgele UUID üretmesi garanti edilmez (ve aslında bir tane üretmemesi olasıdır).