Potrzebuję UUID. Twoim zadaniem jest wygenerowanie jednego.
Kanoniczny UUID (Universally Unique IDentifier) to 32-cyfrowy numer szesnastkowy z myślnikami wstawionymi w niektórych punktach. Program powinien wypisywać 32 cyfry szesnastkowe (128 bitów) w postaci xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
( 8-4-4-4-12
cyfr), gdzie x
jest losową liczbą szesnastkową. Zakładając, że PRNG w Twoim języku jest doskonały, wszystkie prawidłowe dane wyjściowe muszą mieć takie samo prawdopodobieństwo wygenerowania.
TL; DR
Wygeneruj 32 losowe cyfry szesnastkowe w postaci 8-4-4-4-12
cyfr. Najkrótszy kod wygrywa.
EDYCJA: Musi być szesnastkowy. Zawsze generowanie tylko miejsc po przecinku jest nieprawidłowe. EDYCJA 2: Brak wbudowanych. To nie są identyfikatory GUID, tylko ogólne cyfry szesnastkowe.
Przykładowe dane wyjściowe:
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
Dane wejściowe i standardowe luki są niedozwolone.
To jest golf golfowy , więc wygrywa najkrótszy kod. Prosimy również o wyjaśnienia.
12345678-1234-1234-1234-123456789012
powinien być prawidłowym UUID (czy jest potrzebna jakaś cyfra szesnastkowa?). Czy uważasz to za lukę?
xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
gdzie y
jest jeden [89AB]
. W momencie tego komentarza nie ma gwarancji, że żadna z odpowiedzi (oprócz C # przy użyciu wbudowanej biblioteki) wygeneruje prawidłowy losowy identyfikator UUID (i faktycznie prawdopodobnie nie wygeneruje żadnego).