先上某公司笔试题:假设在n进制下,下面的等式成立,567*456 = 150216,n的值是()。
A.9
B.10
C.12
D.18
解这类题,第一反应基本都是将选项带入等式直接计算,但带入计算运算量过大,过于费时,所以就有了下面相对省时的计算方法。
其实,本质就是解高次方程,先展开,然后构造相对简单的等式,再带入。
首先,我们可以从等式的各个值的个位数,能判断出其可能的最小进制,这道题的最大个位为7,所以它可能的进制数(n)最小为8。
然后将n带入等式,得到:(5*n^2 + 6*n^1 + 7) * ( 4*n^2 + 5*n^1 + 6) = 1*n^5 + 5*n^4 + 2*n^2 + 1*n^1 + 6 ——》20*n^4 + 49*n^3 + 88*n^2 + 71*n + 42 = 1*n^5 + 5*n^4 + 2*n^2 + 1*n^1 + 6。然后就想办法将左边复杂的等式简化成简单的等式,一般都是给两边等式都%n,所有n的倍数以及指数项被会被%掉,这样就会得到等式:42%n = 6%n,前面已经判断n最小为8,所以就可以得到:42%n = 6。也就是说,所有能被36整除并不能被42整除的数(36%n == 0 && 42%n != 0)都可以。此时就会发现此等式为:左边俩数的个位数的乘积% n,等于右边数的个位。这也是解决此类题的一个通用判断式。一般情况,通过此判断式,就可以得到答案了。但对于此题,这个等式只能排除掉B选项,所以,我们还需再构造一个等式。
还是通过这个等式:20*n^4 + 49*n^3 + 88*n^2 + 71*n + 42 = 1*n^5 + 5*n^4 + 2*n^2 + 1*n^1 + 6,此时,先给两边同时除以n,然后再% n,就会得到另一个等式:(71 + 42/n)%n = (1 + 6/n)%n。这时,再将剩余的选项带入,因为42除以各个剩余选项的小数部分与6除以各个剩余选项的小数部分都为1/3,根据取余的特性,所以等式再简化:(71
+ 42/n)%n = 1.就会得到答案,18。