是否有现成的开源软件可以生成用户可定义数字基数的序列号?

发布于 2024-12-11 00:56:43 字数 63 浏览 0 评论 0原文

是否有现成的开源软件可以生成用户可定义数字基数的序列号?

最好使用 Perl 或类似的脚本语言。

Is there off-the-shelf open source software for generating serial numbers of user-definable number bases?

Preferably in Perl, or similar scripting language.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

巾帼英雄 2024-12-18 00:56:43

看一下 Integer::Tiny。它允许您指定任意大小的单字符“数字”字符串,然后将整数转换为该集合。给它一个长度为 n 的字符串,数字将有效地转换为基数 n(尽管它看起来不像正常的基数 n 表示形式)当然,除非该字符串正常对数字进行排序)。

编辑:这是来自 Sorpigal 评论的单行 base-10 解决方案,在 base-3 中重做:

perl -MInteger::Tiny -e 'my $it = Integer::Tiny->new("012"); printf "%0".$ARGV[0]."d\n", $it->encrypt($_) for (shift..shift);' 1 10 5

Take a look at Integer::Tiny. It allows you to specify an arbitrarily-sized string of single-character "digits", then converts integers into that set. Give it a string of length n and the number is effectively converted into base n (although it won't look like a normal base n representation unless that string orders the digits normally, of course).

Edit: Here's the one-liner base-10 solution from Sorpigal's comment redone in base-3:

perl -MInteger::Tiny -e 'my $it = Integer::Tiny->new("012"); printf "%0".$ARGV[0]."d\n", $it->encrypt($_) for (shift..shift);' 1 10 5
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文