一道笔试题:假设在n进制下,下面的等式成立,n的值是(),567*456=150216.<转载>

来源:互联网 发布:淘宝追加评价在哪里看 编辑:程序博客网 时间:2024/05/23 15:43

假设在n进制下,下面的等式成立,n的值是(),567*456=150216.

完全是考数学的题目:

http://topic.csdn.net/u/20100319/14/ffd0920a-b256-48d8-8d86-da36a3bfab8d.html

做不出来也就算了,实际上,IT公司好多这样子的题目(腾讯除外),难怪考出来,成绩很差都可以进面试。这道题是google和淘宝的笔试题目,没事看看,确实很难。

有解的话n=18“

567*456=(5n^2+6n+7)*(4n^2+5n+6)=20n^4+49n^3+88n^2+71n+42 ….(1)
150216=n^5+5n^4+2n^2+n+6 ………………………….(2)
//[x]表示对x取整
则: (1)式对n取模=42 mod n …(3)
(2)式对n取模=6 ………..(4)
由(1)=(2),综合(3),(4)式得:
42 mod n=6 且 6< n<42 …..(5)
设 a=[42/n] ,则由(5)式子得:
a*n=36,其中6< n <42;a,n皆为正整数……(6)
由6可解得 n=9,12,18,36 …….(7)

[(1)/n] mod n=[(2)/n] mod n
=>[20n^3+49n^2+88n+71+42/n] mod n = [n^4+5n^3+2n+1+6/n] mod n

因为6 < n < 42,所以6/n =0

=>[71+42/n] mod = 1mod n

=> [71+42/n] mod n=1………(8)

把(7)的解代入(8),检验可得n=18.

0 0