1. 程式人生 > >求一個乘法算式是採用幾進位制

求一個乘法算式是採用幾進位制

思考;假設在n進位制下,下面的等式成立,567 * 456=150216 ,n的值是()

A. 9 

B. 10  

C.12  

D.18

首先我們最可能想到的方法就是將四個答案分別帶進去;

即:(5*9^2+6*9^1+7)*(4*9^2+5*9^1+6)=1*9^5+5*9^4+0+2*9^2+1*9^1+6

       (5*10^2+6*10^1+7)*(4*10^2+5*10^1+6)=1*10^5+5*10^4+0+2*10^2+1*10^1+6

       (5*12^2+6*12^1+7)*(4*12^2+5*12^1+6)=1*12^5+5*12^4+0+2*12^2+1*12^1+6

       (5*18^2+6*18^1+7)*(4*18^2+5*18^1+6)=1*18^5+5*18^4+0+2*18^2+1*18^1+6

雖然這種方法可以算出來,但是這幾個算式估計算出來至少也得十幾分鍾,還不一定算對,自己也就放棄了偷笑

現在改進一下,假設這個等式是在n進位制的條件下成立,那麼可以等式化為:

(5*n^2+6*n^1+7)*(4*n^2+5*n^1+6)

 (化簡)=20*n^4+49*n3+88*n^3+71*n+42

           = n^5+5*n^4+2*n^2+n^1+6

(1)將整理得到的式子兩邊同時取餘42%n =6,將答案帶人其中排除了10其他的9,12,18都滿足,因為42%10=2;

(2)下一步兩邊在除以n,在對n取餘,得(71+42/n)%n=(1+6/n)%n=(1%n+0)---->(71+42/n)%n=1     

(3)結合等式(3)

A.    (71+42/9)%9=3,不滿足

B.    (71+42/12)%12=2,不滿足

C.    (71+42/18)%12=1,滿足

求得n=18,答案為D。