Saya membutuhkan UUID. Tugas Anda adalah menghasilkan satu.
UUID kanonik (Universally Unique IDentifier) adalah angka heksadesimal 32 digit dengan tanda hubung dimasukkan dalam titik-titik tertentu. Program harus menghasilkan 32 digit hex (128 bit), dalam bentuk xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
( 8-4-4-4-12
digit), di mana x
adalah angka heksadesimal acak. Dengan asumsi PRNG bahasa Anda sempurna, semua output yang valid harus memiliki probabilitas yang sama untuk dihasilkan.
TL; DR
Hasilkan 32 digit heksadesimal acak dalam bentuk 8-4-4-4-12
digit. Kode terpendek menang.
EDIT: Harus heksadesimal. Selalu menghasilkan desimal saja tidak valid. EDIT 2: Tidak ada built-in. Ini bukan GUID, hanya digit hex umum.
Contoh output:
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
Input, dan celah standar tidak diizinkan.
Ini kode-golf , jadi kode terpendek menang. Juga, jangan ragu untuk meminta klarifikasi.
12345678-1234-1234-1234-123456789012
harus UUID yang valid (atau apakah ada hex digit yang diperlukan?). Apakah Anda menganggap ini celah?
xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
mana y
salah satunya [89AB]
. Pada saat komentar ini, tidak ada jawaban (kecuali C # menggunakan built in library) dijamin untuk menghasilkan UUID acak yang valid (dan sebenarnya, sangat mungkin untuk tidak menghasilkan satu).