Ho bisogno di un UUID. Il tuo compito è di generarne uno.
L'UUID canonico (Universally Unique IDentifier) è un numero esadecimale di 32 cifre con trattini inseriti in alcuni punti. Il programma dovrebbe generare 32 cifre esadecimali (128 bit), sotto forma di xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
( 8-4-4-4-12
cifre), dove x
è un numero esadecimale casuale. Supponendo che il PRNG della tua lingua sia perfetto, tutti gli output validi devono avere la stessa probabilità di essere generati.
TL; DR
Genera 32 cifre esadecimali casuali nelle cifre del modulo 8-4-4-4-12
. Il codice più corto vince.
EDIT: deve essere esadecimale. Generare sempre solo decimale non è valido. EDIT 2: nessun built-in. Questi non sono GUID, solo cifre esadecimali generiche.
Esempio di 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
Non sono consentite immissioni e scappatoie standard .
Questo è code-golf , quindi vince il codice più corto. Inoltre, non esitare a chiedere chiarimenti.
12345678-1234-1234-1234-123456789012
dovrebbe essere un UUID valido (o è necessaria una cifra esadecimale?). Consideri questa una scappatoia?
xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
dove si y
trova [89AB]
. Al momento di questo commento, nessuna delle risposte (tranne C # che utilizza una libreria integrata) è garantita per produrre un UUID casuale valido (e in realtà, è molto probabile che non ne produca uno).