码迷,mamicode.com
首页 > 其他好文 > 详细

我也来试试“越南小学三年级数学题难倒博士”的难题

时间:2015-05-24 07:44:40      阅读:319      评论:0      收藏:0      [点我收藏+]

标签:

今天的百度排行榜,一个标题为”越南数学题难倒博士“的新闻热点吸引了我,于是猛戳

技术分享

原文链接为:http://news.sina.com.cn/w/p/2015-05-21/100531859030.shtml:

题目大致是这样的:

技术分享

学生需要由上至下、从左到右的顺序,填入1至9的数字,可重复填写,并按先乘除后加减的运算法则,完成整条算式。

河内一家人才培育中心的副总监陈方表示,题目只需用到基本运算技巧,他邀请一些成年人挑战,包括拥有经济学博士学位的人,不过全部人都答不出来。

在越南教育科学研究所修读博士学位的阮玉江则利用计算机程序,找出所有可能组合,结果竟“印满74张A4纸”。她称计算机能轻易计出答案,“但人脑肯定不容易”

这题目,的确很坑,实际上这就是一个可重复排列组合的筛选问题,入门级的程序员都可以轻松搞定:

class Program
    {
        static void Main(string[] args)
        {
            int resultCount = 0;
            for (int i1 = 1; i1 <= 9; i1++)
            {
                for (int i2 = 1; i2 <= 9; i2++)
                {
                    for (int i3 = 1; i3 <= 9; i3++)
                    {
                        for (int i4 = 1; i4 <= 9; i4++)
                        {
                            for (int i5 = 1; i5 <= 9; i5++)
                            {
                                for (int i6 = 1; i6 <= 9; i6++)
                                {
                                    for (int i7 = 1; i7 <= 9; i7++)
                                    {
                                        for (int i8 = 1; i8 <= 9; i8++)
                                        {
                                            for (int i9 = 1; i9 <= 9; i9++)
                                            {
                                                if (i1 + 13 * i2 / i3 + i4 + 12 * i5 - i6 - 11 + i7 * i8 / i9 - 10 == 66)
                                                {
                                                    Console.WriteLine(i1 + "," + i2 + "," + i3 + "," + i4 + "," + i5 + "," + i6 + "," + i7 + "," + i8 +","+ i9);
                                                    resultCount++;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            Console.WriteLine("答案总数:" + resultCount);
            Console.ReadLine();
        }
    }

控制台程序执行完成,打印结果如下:

技术分享

如果不是运用计算机的处理速度,就算是神童,让他来解这题,估计也要醉了。

我也来试试“越南小学三年级数学题难倒博士”的难题

标签:

原文地址:http://www.cnblogs.com/BruceGoGo/p/4525318.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!