Мне нужен UUID. Ваша задача - создать его.
Канонический UUID (универсальный уникальный идентификатор) представляет собой шестнадцатеричное число из 32 цифр с дефисами, вставленными в определенные точки. Программа должна вывести 32 шестнадцатеричные цифры (128 бит) в виде xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
( 8-4-4-4-12
цифр), где x
случайное шестнадцатеричное число. Предполагая, что PRNG вашего языка идеален, все действительные выходные данные должны иметь одинаковую вероятность генерации.
TL; DR
Генерация 32 случайных шестнадцатеричных цифр в форме 8-4-4-4-12
цифр. Самый короткий код выигрывает.
РЕДАКТИРОВАТЬ: должен быть шестнадцатеричным. Всегда генерировать только десятичные числа недопустимо. РЕДАКТИРОВАТЬ 2: Нет встроенных модулей. Это не GUID, это просто шестнадцатеричные цифры.
Пример вывода:
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
Вход и стандартные лазейки запрещены.
Это код-гольф , поэтому выигрывает самый короткий код. Кроме того, не стесняйтесь просить разъяснений.
12345678-1234-1234-1234-123456789012
должен быть действительный UUID (или необходима какая-либо шестнадцатеричная цифра?). Вы считаете это лазейкой?
xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
где y
один из [89AB]
. На момент написания этого комментария ни один из ответов (кроме C #, использующего встроенную библиотеку) гарантированно не выдал действительный случайный UUID (и, скорее всего, вряд ли его выдаст).