2.假设在n进制下,下面的等式成立,567 * 456 = 150216,n的值是()。
A.9 B.10 C.12 D.18
方法一:猜个位数字 42%n == 6
排除b,
设一个n,等式两边分别写表达式:左边(5n^2+6n+7)*(4n^2+5n+6) = n^5+5n^4+2n^2+n+6 (1)
(1)两边同时%n,结果为:42%n == 6(2)
(1)两边同时/n,然后再对%n,结果为(71+42/n)%n==1
将a,c,d带入->18
方法二:代码计算,等式两边相等,输入进制数,正确的即为选项
int main()
{
int n;
scanf("%d", &n);
int a,b,pro;
a = 5 * n * n + 6 * n + 7;
b = 4 * n * n + 5 * n + 6;
pro = n * n * n * n * n + 5 * n * n * n * n + 2 * n * n + n + 6;
if (a * b == pro)
{
printf("%d", n);
}
return 0;
}