这几天得到华为的一个面试机会,是做软件测试方面的工作。时间早上九点半,面试的地点在华师粤海酒店。
之前我已经估计好了到达的时间,所以到那儿的时候是九点25分,但是进去场地的时候发现酒店的房间已经坐满了人。很多人都提前到了。
于是找了个角落坐下来。过一会儿,带着眼镜的靓女叫我去717面试。
面试的主考官是穿着很平民化,一件有领的T,到了以后叫我坐下,先2分钟介绍一下自己。因为有两年的工作经验了,所以对于这个环节我已经有足够的心理准备了。尽量把自己擅长的东西说出来,而且不要惊慌。
主考听我讲完,跟我说:“现在有一道题考你”。然后在纸上写了这道题。
ABCDE*4=EDCBA,ABCDE代表0-9中各不相同的数字。
给我三分钟确定一个数字。
当时第一个反应是E一定是1和2之中的一个。但是三分钟后,我还是想不出理由决定是1还是2。太紧张了,其实很简单1是奇数,任何数*4都不可能是奇数。他告诉我后,我才恍然大悟。
于是他跟我说:“看了我的简历,因为已经有两年以上的工作经验了,但是没有测试方面的经验,所以考虑能不能做嵌入式开发”。听了这句话,我心里懊悔死了。做嵌入式开发是我的理想来了。一直都想涉及这块领域,但是苦于都找不到机会,但今天机会来了,却被我错过了。
回家后,我整理了一下解题的思路,如下:
1.因为一个五位数乘于一个五位数还是等于一个五位数,那么乘于后的结果末位数A只能是1跟2,但是因为E*4的末位数不可能为奇数,所以排除了A为1这种可能,可以确定A=2.如果A=2的话,那么E可能是8或9,如果ABCDE的最后一位为9的话,9*4=36,尾数不是2,所以排除9这种可能。那么第一步就确认了A=2,E=8.
2.因为步骤1确定了E=8,因为A*4刚好等于E,可以推出B*4没有进位,B*4〈10。那么B可能为1或2,因为ABCDE不重复,步骤1已经证明A=2,所以B不可能再取2,于是可以推出B=1,因为E*4=32,D=3+B*4=7
3.由步骤1得D=7,B=1,D-B*4=3,所以第三位C*4+3大于29,小于40,剩下的034569中,只有9满足条件。所以C=9。
所以最后的结果是ABCDE代表的数字是21978,乘于4刚好等于87912