还有一科没考,这时仍然不务正业没在复习,看起面试题来了。
刚刚看了Google的变态面试题,其中有一道是这样的:
等式:donald+gerald=robert
已知d=5,每个数字对应一个唯一的字母,求字母与数字之间的对应关系。
貌似有点困难,不过头绪还是有的,所以我开始动手求解了,步骤如下:
donald
+gerald
=robert
[1]d=5
[2]由式子个位得出t(或者1t)=2*d
[3]这里因为d=5所以显然t=0向十位进1
[4]继续看式子的十位,可得出r=2*l+1(也可能是1r=2*l+1)
[5]所以r是奇数
[6]由式子的十万位可看出d+g<10(如果万位计算向十万位产生进位的话就是d+g<9)
[7]那么d=5的话就有g<5(同上,有可能是g<4)且r>5
[8]由[7]可知r可能为7 9
[9]很特殊的万位,o+e=o,e不可能为0,所以e=9,说明千位有进位,且万位计算后向十万位进1,同时因为[8]得出r=7,因为[4]得出l可能是3或8
[10]这时o几乎不可能估算出来,但是鉴于正好有10种字母,所以求完后最后剩下的就是o
[11]综合[6]、[7]、[9]终于知道了d+g<9 g<4 5+g+1=r,再参照[9]得出g=1
[12]看式子的百位得知e=2*a,那么a=4.5,这是错误的,所以真相只有一个,那便是十位向百位进位了,由此可知a=4,而且回顾[9]可知l=8
[13]由于[9]中说千位有进位,所以看千位可知n+r=1b,即是n+7=1b,并且很显然n>3
[14]此时场上还有3个未解的字母n b o,对应三个数字2 3 6,根据[13]可知n=6,那么b=3,o=2
d=5 t=0 e=9 r=7 g=1 a=4 l=8 n=6 b=3 o=2
本文章系受著作权法保护,未经著作人同意,不得盗用;使用或引用本文章内容请注明作者名、原地址:书中叶http://www.cnblogs.com/libook