我有输入如5 2 113221101000101
('5'是quinary和'2'是二进制)我有一个number
quinary和二进制但它们没有空格连接('113221101000101')。
所以我的问题是如何通过qazxswpoi找到确切的number
(数字是5 2 113221101000101
)
我添加一些例子:
837
的数字是5 2 113221101000101
837
的数字是13 7 1016
13
的数字是4 12 2222248A
682
到A
代表nums F
到10
您应该意识到可以从右到左或从左到右解码字符串。算法不同但直截了当。
您可以使用第一个基础从左侧开始解码字符串,使用另一个基础从右侧解码。
始终根据哪个值较小(从右侧解码的一个或从左侧开始的一个)解码另一个字符。如果两个值相等,则为较小的基数再解码一个数字。
当两个解码都消耗了字符串的所有字符时,它们应该产生与您的结果相同的值。
例:
15
您可以通过“强力”工作,即执行来自两个给定基础的所有转换,包括所有可能的拆分,并停止相等(除非可以使用多种解决方案)。
事实上,你可以通过相对有效的方式实现这一目标
注意,可以估计两个表示中的位数,因为它们与基数的对数成反比。需要注意的是,可以预测一个单元内的位数,这可以略微缩短转换工作量。
例如,第一个数字产生长度估计值4.52和10.48,这暗示了分解5/10。