10
几个基数,但不是相同数字的两倍
输入值 一个非空的正整数数组。 任务 将每个整数转换为二进制,八进制,十进制或十六进制,以使每个数字(0至F)最多使用一次。 输出量 用于解决难题的基础列表。 详细的例子 对于预期的输出[16,17]是[八进制,十进制]。 原因如下: 我们不能简单地对两个数字都使用十进制,因为它们都包含1。 16无法转换为二进制,因为它在此基数(10000)中的表示包含多个0。 17也不能转换为二进制,因为它在此基数(10001)中的表示包含几个0和几个1。 17不能转换为十六进制,因为它在此基数(11)中的表示由两个1组成。 让我们考虑所有剩余的可能性: +---------+---------+--------+ | oct(16) | dec(16) | hex(16)| | = 20 | = 16 | = 10 | +--------------+---------+---------+--------+ | oct(17) = 21 | 20,21 | 16,21 | 10,21 | | dec(17) = 17 | 20,17 | …