【发布时间】:2018-09-10 14:51:11
【问题描述】:
首先,这不是家庭作业。我需要这个解决方案来为连接到 AWS EC2 实例的设备分配设备名称。我正在使用 Java。
我正在寻找一种解决方案,我可以定义任意一组字符作为数字来表示基数 N 的数字,然后能够增加和减少这些值。例如,假设我用数字集 {f,g,h} 定义了一个以 3 为底的数字系统。因此,从十进制的“0”开始并递增,我们将有以下序列:
f, g, h, gf, gg, gh, hf, hg, hh。
这需要处理大于基数 10 的数字,因此字符和罗马数字之间的简单映射将无法解决问题。
至于我的具体用例,我将通过分配连接到机器的设备名称来完成此操作,但禁止使用某些字母,因此我将定义一组自定义的允许字符。
我尝试自己实现这一点,但很快就陷入了让我绊倒的逻辑兔子洞。似乎其他人可能已经实施了一些东西,或者至少部分实施了。有什么想法吗?
【问题讨论】:
-
这听起来就像你想要一组符号的排列。如果您查找现有的解决方案,您可能会找到答案。
-
你搞错顺序了!!正确的应该是:f, g, h, gf, gg, gh, hf, hg, hh.
-
@dbl 谢谢,我修好了。这就是为什么我喜欢电脑做这些事情,而不是我!