码16是什么生肖?
这是道逻辑题,其实答案很简单,但是很多人没想清楚。 首先,题目中说的“码”是什么意思呢?这个码是编码的意思,也就是把数字转换为文字或者代码。这里就要提到我们生活中常见的字符串,比如说一个电话号码,用0,1,2,3,4,5,6,7,8,9这十个数组成的一个3-10位的序列,比如13802239180,这就是一个字符串。
如果要把这样的一个字符串转换成五位数,也就是说把十进制数转成五进制数,那么只需要把每个位置上的数字换成对应的二进制数就是了。比如说上面的号码变成五进制数1000100101000001100101001. 但是这样直接转换会存在一个问题,五进制下面没有十位以上的数字,如果我们遇到11以上的自然数怎么办?显然不可能用位数的多少来表示大小啊!所以就需要一位位地倒回去转化,比如说把十进制的第i位数字转化为五进制的第j位数字(从最低位开始),那么就必须满足如下关系式: 二进制下面也没有百位数以上数字,同样需要一位位倒回去。
回到题目中来,要得到十二个三的序列,也就是要得到一个六位数的排列。假设这个六位数的排列是abcdce。 现在的问题是怎么由五进制数10001(a)0011(b)0111(c)0100(d)0010(e)转换成六位数的排列。由于五进制数不存在十位以上的数字,因此必然需要把前五个数组合在一起,作为整数部分,再把剩余的两位数组重新排成一个新序列。
按照上述方法进行转换的话,就会形成新的六位数abcdce,而这正好的是六个三的序列。因此这个问题就转化为如何由十进制数125(a)33(b)21(c)65(d)42(e)转化为五进制数10001(a)0011(b)0122(c)0176(d)0044(e),然后再反过来将新的五进制数转化为十进制数。 当然最后一步反过来转化成十进制数是非常容易的。不过如果直接求解反过来的五次方程组就比较困难了,因此可以采用消元法,或者说高斯消元法来解决。