微软的一个笔试题

来源:互联网 发布:删除数据库表中的一列 编辑:程序博客网 时间:2024/05/22 21:46
有三个六位数,分别是ABCDEF、CDEFAB、EFABCD。
A、B、C、D、E、F分别代表一位数,可能是1~9之间的任何一个,但是他们都是不同的数。
已知这三个六位数满足下列条件:

ABCDEF*2=CDEFAB

CDEFAB*2=EFABCD

问A=?、B=?、C=?、D=?、E=?、F=?

我的思路如下:欢迎大家给出更优秀的解法(下面的评论有更好解答!一楼最棒)

可以这么列出

ABCDEF

CDEFAB

EFABCD

下面的字母是对应上面字母的2倍或2倍加1得到的数字的个位。比如

ABCDEF

CDEFAB

EFABCD

那么假如A=1,那么c=2或3,假如A=6那么c=2或3。整个解题思路就靠这条规律了!!!(当然还有B、D为偶数)

开始了哦!

由于最左边一列

ABCDEF

CDEFAB

EFABCD

可知A=1或2(再大E可怎么办呢~嘻嘻)

=====================================================

当A=2时,C=4(c=5的话E就没办法啦~),E=8或9

由于

ABCDEF

CDEFAB

EFABCD

E=8或9时A是成不了2的,可见矛盾,所以A不等于2,只能为1.

=======================================================

当A=1时

由于

ABCDEF

CDEFAB

EFABCD

可见E=5.

由于

ABCDEF

CDEFAB

EFABCD

可见C=2.这时我们已经知道A=1;C=2;E=5;

由于

ABCDEF

CDEFAB

EFABCD

根据A=1可见F到B有进位。

同理由

ABCDEF

CDEFAB

EFABCD

可知B到D没有进位。且B为偶数,可知B=2或4(B再大D就没办法啦),由于已知C=2,所以B=4. 那么D=8

由前面得到的F到B有进位可知F=7.

所以ABCDEF=142857



原创粉丝点击