首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成随机UUID

问生成随机UUID
EN

Code Golf用户
提问于 2015-09-22 03:59:53
回答 21查看 5.2K关注 0票数 14

我需要一个UUID。您的工作是生成一个.

标准UUID ()是一个32位十六进制数,在某些points.The程序中插入连字符应该输出32位十六进制数字(128位),形式为xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12数字),其中x是一个随机十六进制数。假设您的语言的PRNG是完美的,那么所有有效的输出都必须具有相同的生成概率。

TL;

博士

以8-4-4-4-12数字的形式生成32个随机十六进制数字。最短代码获胜。

编辑:必须是十六进制。总是只生成小数是无效的。编辑2:没有内置。这些不是GUID,只是普通的十六进制数字。

示例输出:

代码语言:javascript
复制
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

输入和标准漏洞是不允许的。

这是密码-高尔夫,所以最短的代码就赢了。同时,你也可以要求澄清。

EN

回答 21

Code Golf用户

回答已采纳

发布于 2015-09-22 09:26:37

Pyth,20字节

代码语言:javascript
复制
j\-msm.HO16*4hdj83 3

游行示威。

将[1, 0, 0, 0, 2]编码为基础3中的83,然后再加1并乘以4,得到每个段的长度。然后在连字符上做十六进制数字和连接。

票数 11
EN

Code Golf用户

发布于 2015-09-22 04:21:20

Julia,80字节

代码语言:javascript
复制
h=hex(rand(Uint128),32)
print(h[1:8]"-"h[9:12]"-"h[13:16]"-"h[17:20]"-"h[21:32])

生成一个随机的128位整数,将它的十六进制表示为32位数字的字符串,并将其分割成与破折号相连的段。

感谢ConfusedMr_C和kvill的帮助!

票数 8
EN

Code Golf用户

发布于 2015-09-22 08:44:45

Perl 5,43字节

多亏了@Xcali,节省了两个字节!

代码语言:javascript
复制
printf"%04x"."-"x/[2-5]/,rand 2**16for 1..8

在网上试试!

票数 5
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/58442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档