在进制未知的情况下,通过一个等式来判断其进制

时间:2021-01-19 19:57:01

在进制未知的情况下,有如下等式成立:
15*4 == 112;
该进制为 A :6        B : 7        C :  8      D: 9
//首先,假设它的进制为x

//对该式按权展开可以得到(x+5)*4 == x^2+x+2
//化简后可以得到4x+20 == x^2+x+2
//由于都是进制为x,则 两边对x取余
// 在上式中,由于末位能够取得5,可知该进制一定大于5,可得到等式
//  20%x == 2;   依此,排除选项B、C

//接着再考虑一次项,先通过除以x,将末位的值扔掉

// 再对x取余,这样就比较的是一次项的值是否符合要求
//得到等式 (4+20/x) %x == (x+2/x)%x
//               (4+20/x) %x == 0

//带入A和D选项
//排除D选项,该进制为6.
同样对于位数较多的等式依然适用。
例如:假设在n进制下,567*456 == 150216,n的值是()。

A.    9        B.  10     C. 12       D.18

//同理,先按权展开判断末位的情况,设其进制为n.

//得到等式20n^4+49n^3+88n^2+71n+42 == n^5+5n^4+2n^2+n+6

//同样,由于在等式右边能够取得6,那么该进制一定是大于6的

//先对n取余

//  42%n == 6

//排除选项B

//接着除以n,扔掉末位的数,再%n,对一次项的数进行比较,得到

//(71+42/n)%n == (1+6/n)%n
// (71+42/n)%n == 1
//带入选项可知D.18符合要求