在N基数系统上使用任意定义的字符进行算术运算

时间:2018-09-10 14:51:12

标签: java numbers increment

首先,这不是家庭作业。我需要此解决方案来为连接到AWS EC2实例的设备分配设备名称。我正在使用Java。

我正在寻找一种解决方案,可以定义任意字符集以用作代表底数N的数字的数字,然后可以递增和递减这些值。例如,假设我用数字集{f,g,h}定义了一个以3为底的数字系统。因此,以十进制“ 0”开始并递增,我们将具有以下顺序: f, g, h, gf, gg, gh, hf, hg, hh

这需要使用大于10的数字,因此字符和罗马数字之间的简单映射将无法解决问题。

对于我的特定用例,我将通过分配连接到机器的设备名称来实现,但是某些字母被禁止使用,因此我将定义一组自定义的允许字符。

我尝试自己实现此目标,并迅速陷入使我绊倒的逻辑难题。似乎其他人可能已经或至少已经实现了某些东西。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

像这样?我在幕后使用{ "query": { "bool": { "must": [ { "term": {"date": "now/d" } }, { "term": {"status": "confirmed" } } ], "must_not": { "bool": { "must": [ { "match": { "createdAt": "now/d" } }, { "match": { "type": "def" } } ] } } } } } 来避免所有溢出,而只是在BigInteger中即时生成数字。

toString