【C语言】进制

    在IT笔试过程中经常会碰到有关进制的题目,下面以阿里的笔试题为例:

    假如在n进制下,下面的等式成立,567*456=150216,n的值是()
    A.9        B.10       C.12       D.18
   用两个乘数的个位相乘让对所给的选项取余,如果余数不是6的就可以排除掉,题中个位数字7*6=42;42%n=6; 对照选项带出答案A,C,D,可是这个题只能排除掉B选项,其他的都得计算。

    然后想进一步精确计算就将式子展开,合并同类项得
    20n^4+49n^3+88n^2+71n+42 = n^5+5n^4+2n^2+n+6    (1)
    第二步对两边同时对n取余得
    42%n = 6              (2)
    第三步两边同时除以n然后再对n取余得
   (71+42/n)%n =(1+6/n)%n = 1         (3)
    然后代入选项就可以得出进制了最后算下来n=18,答案选D。


猜你喜欢

转载自blog.csdn.net/PinkBananA_/article/details/80463436