一道网易游戏笔试题的不同解法

                下面的乘法计算过程中的不同字母代表0-9中不同的数,请写出与各个字母对应的数字:

     ABCDEFGH

*                    AJ

  ------------------

   EJAHFDGKC

   BDFHAJEC

    ------------------

  CCCCCCCCC

下面我给出各种人群可能采取的解法:

1、小学生

由K+C=C,可知K=0 (1);

由ABCDEFGH*A=BDFHAJEC,未进位,可知0<A<=3 (2);

乘积CCCCCCCCC可被9整除,可推知乘数ABCDEFGH与AJ或双双可被3整除,或至少其中之一可被9整除;

由(1),可知A、B、C、D、E、F、G、H、J分别为1-9中不同的整数,A+B+C+D+E+F+G+H+J=45

设J=1,A+B+C+D+E+F+G+H=44,亦即ABCDEFGH不能被3整除,则AJ应可被9整除。综合(2),可知0<A<=3、J=1条件下没有9的倍数,故J不等于1;

设J=2,A+B+C+D+E+F+G+H=43,亦即ABCDEFGH不能被3整除,则AJ应可被9整除。综合(2),可知0<A<=3、J=2条件下没有9的倍数,故J不等于2;

设J=3,A+B+C+D+E+F+G+H=42,亦即ABCDEFGH被3整除但不被9整除,则AJ应可被3整除。在0<A<=3、J=3条件下,3的倍数仅有33,但不符合A不等于J的约束条件,故J不等于3;

以此类推,最后得到所有可能的AJ解,分别为18、19、27、29、36、39;

设A=1,则E、B最小值为2、3,E+B=C>=5,但1BCDEFGH*1J<=199999999*19=379999981,亦即C<4,两相矛盾,故A不等于1;

设A=2,2BCDEFGH*2J对应的C合理区间为5-7,分别将C=5、6、7以及AJ=27、29代入,得到一个解ABCDEFGH=24691358,AJ=27;

设A=3,3BCDEFGH*3J对应的C合理区间为9,亦即C=9,分别将AJ=36、39代入,无解;

综上,本题唯一解为:A=2、B=4、C=6、D=9、E=1、F=3、G=5、H=8、J=7、K=0

解毕。

2、中学生

使用C语言编程如下:

for(int a=0; a<=9; a++)

  {for(int b=0; b<=9; b++)

    {for(int c=0; c<=9; c++)

      {for(int d=0; d<=9; d++)

        {for(int e=0; e<=9; e++)

          {for(int f=0; f<=9; f++)

            {for(int g=0; g<=9; g++)

              {for(int h=0; h<=9; h++)

                {for(int j=0; j<=9; j++)

                  {for(int k=0; k<=9; k++)

                    {

                      double factor1 = a*1e7+b*1e6+c*1e5+d*1e4+e*1000+f*100+g*10+h;

                      double factor2 = a*10+j;

                      double mult = factor1*factor2;

                      double miracle = c*1e7+c*1e6+c*1e5+c*1e4+c*1000+c*100+c*10+c;

                      if (mult == miracle)

                        printf("Solution detected:\nABCDEFGH=%f\nAJ=%f",factor1,factor2);

}}}}}}}}}}

 

3、大学生

我读中学时写程序解过这道题,但是程序有bug,没有判断不同字母代表不同的数这一约束条件。

正确的做法应该是设一个0-9的整数集合,每个循环都只从集合中取数,每取一个值就从集合里去掉它。

这就涉及到怎样用数组实现集合运算的问题,我的毕业论文就准备做这个课题。

 

4、研究生

我的考研老师没教别的,只反复强调了一句至理名言:解题的关键是掌握命题人意图。

这道题考察的知识点是3、9倍数的各位之和也是3、9的倍数,认识到这一点,这道题就迎刃而解了。

我就不具体算了。

5、理科博士生

这是一个数论问题,我给你列出以下参考文献,你去慢慢看吧。看完之后在下周的讨论会上做一个十分钟的发言。

6、文科博士生

通过这道数学题,每一个有良知的公民都会忧心忡忡地看到如今的少年儿童正在遭受怎样的摧残。总有人喜欢用科学至上的理念把自然与人性打压得无处容身。我们的社会正在发生歧化,我们的传统正在面临毁灭,我们的蓝天绿水逐渐消失,这些都是科学主义者造成的,现在他们又不遗余力地迫害我们天真烂漫的儿童,企图把他们变成没有人性只知道机械思维的逻辑机器,blahblahblah

7、职员

唉,我们的系统比较薄弱,没有办法直接给出解答,害得我不得不一个数一个数地检验,已经摁了一上午计算器,劳动强度忒大了。。。。。。

8、总经理

小刘,手头有什么工作吗?你看一下这个材料,做一个解决方案,明天八点之前放到我桌上。

9、董事长

刘秘书,你到我这里来一下。

           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值