好吧,这是我在作业中遇到的一个问题..我不知道继续
这个问题是这样
的数字(不是十进制)
外星人表示包含字符集(ofa)
现在用于输入(9,5)男人给他以下(foo,fa)
你能给我提示或代码,以便我可以尝试自己编写代码
问问题
135 次
3 回答
0
提示:外星人像我们一样使用位置数字系统。(换句话说,它可能不像罗马数字或拼出数字的名称。)
第二个提示:考虑外星人的数字系统中有多少个字符。
于 2011-03-08T05:54:46.070 回答
0
提示:
有三个符号。在十进制(base-10)中,有 10 个数字:0 1 2 3 4 5 6 7 8 9。在二进制(base-2)中有两个数字,0 和 1。在 base-16 中有 16 个数字。既然外星系统中有三个符号,我们可以猜测它的组织吗?
5base10 = 12base3。9base10 = 100base3。所以十进制的 (9,5) 与三进制的 (100, 12) 相同。我们可以猜测哪些外星符号代表哪些人类手指吗?
于 2011-03-08T05:55:14.940 回答
0
看起来他们是三元的。
您想将十进制(以 10 为底)转换为三进制(以 3 为底)。
您会注意到外星人使用0
,1
而不是,和。它们基本上映射到相同的数字。2
o
f
a
所以要得到答案,将十进制转换为三进制,然后用数字代替外星字符。
示例 PHP 代码
$chars = 'ofa';
$ternary = str_split(base_convert(9, 10, 3));
foreach($ternary as $num) {
echo $chars[$num];
}
这在任何语言中都是可行的,尽管 PHP 有幸拥有原生base_convert()
函数。
于 2011-03-08T05:55:45.490 回答