A)您有charset
100
,其中第一个characters
为A, B, C
,最后一个characters
为-, _
。
B) encode
函数返回长度为10
的字符串。
C) encode
将number
转换为number
charset
示例: A
== 0
|| B
== 1
|| C
== 2
|| -
== 98
|| _
== 99
可能性:100 ^ 10
= 1e+20
|| 100,000 Quadrillion
|| 100,000,000,000 Billion
。
999
是iii
,_i
还是i_
? 答案 0 :(得分:0)
看起来像家庭作业......
让我们来看看我们的问题:
999不能在我们的字符集中表示为单个字符 我们可以用3种不同的方式对其进行编码
9 9 9 =>我,我
99 9 => _I
9 99 =>我_
现在......单独一个字符集不能进行编码......此时你应该读一下"代码"是... http://en.wikipedia.org/wiki/Code
请注意,这与加密完全无关......
所以......我们需要一个用于编码/解码代码的规则集
因为我们应该制定规则集,所以只要我们记住我们必须遵循的其他关键规则,我们可以自由选择处理事情......
代码应该是10个字符...最大限度地从我看到的,或者III不可能是我们的代码的有效示例... AAAAAAAAIII将是......所以我们假设我们可能会下降前导零,或者在这种情况下,并进一步假设III和AAAAAAAIII是相同的
现在我们有了这样的事实:我们的代码有100 ^ 10个可能的代码字,只有当我们的长度为10的字符集的每个组合都是有效的代码字时,才能获得这些代码字
所以这三个...... III和I_和_I ......必须是有效的代码字......
这是否意味着所有三个都具有999的值?
简短:没有
长:
如前所述,需要一个规则集来为代码赋予意义......
由于没有给出编码规则集,我们似乎可以自由创建一个......
让我们看看规则集来编码我们的常规基数10 ...
我们有一个从0到9的字符集 - > 10位数
数字中数字的位置包含信息...
123例如可写为1 * 10 ^ 10 + 2 * 10 ^ 1 + 3 * 10 ^ 0
如果我们将其转移到我们的新编码中......让我们将其称为基础100 ...它将如下所示:
123 - > 1 * 100 ^ 1 + 23 * 100 ^ 0
=> 1 = B ... 23 = X => 123 - > BX
999 - > 9 * 100 ^ 1 + 99 * 100 ^ 0 - >我_
但谁说我们必须在代码中声明最左边的数字才是最重要的数字?
如果我们不解释它怎么办?
不是99 * 100 ^ 0 + 9 * 100 ^ 1 = 999?
是的...因此我们可以把它写成_I呢......
现在哪一个是正确的? ......这只取决于我们代码的规则集...如果它说最左边的数字是最重要的数字,答案就是I_ ......如果最右边的数字是最重要的数字,答案是_I
只要没有指定编码的规则集,这个问题的答案就无法解决......你只能尝试做出有根据的猜测,并使用与我们的"正常&#相同的约定34;基数10编码...最左边的数字=最高有效数字 - >我_
但请记住......这是猜测...如果我在测试中得到这样的问题,我会解释为什么没有答案,除非指定了编码规则
tldr:
使用提供的信息,如果是i_或_i
,则可以自由选择