如何编码以下数字表示

好吧,这是我在任务中得到的一个问题......我无法继续进行 问题是这样的  一个男人想通过提供与外星人交流,安全地将他降落在地球站上 坐标,但外星人使用不同的数字表示(不是十进制) 外星人表示包含字符集(o f a) 现在输入(9,5)man给了他以下(foo,fa) 你可以给我提示或代码,以便我可以尝试自己编写代码     
已邀请:
提示: 有三个符号。在十进制(基数为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)相同。我们可以猜测哪个外星符号代表哪个人类数字?     
提示:外星人正在使用像我们这样的位置编号系统。 (换句话说,它可能不像罗马数字或拼写出数字的名称。) 第二个提示:考虑外星人号码系统中有多少个字符。     
看起来他们是三元的。 您想要将十进制(基数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()
功能。     

要回复问题请先登录注册