您的位置:首页 > 其它

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

2015-06-19 00:49 295 查看
假设在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.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法