[C#]横竖都是4九宫格算法

来源:互联网 发布:手机虚拟陀螺仪软件 编辑:程序博客网 时间:2024/05/18 02:13

群里的网友抛出了这样一道题
这里写图片描述
我的算法:

        static void Main(string[] args)        {            /*             *  a + b - 9 = 4             *  +    -    -               *  c - d * e =4             * /     *    -             * f  + g - h=4             * ||     ||    ||             * 4     4    4              * */            int flag = 50;            for(int a=0;a<14; a++) //a            {                for (int b = 0; b <14; b++) //b                {                    //a+b-9=4 故 a+b=13                    if ((a + b) == 13)                    {                        //9-e-h=4 故 e+h=5, e<6,h<6                        for (int e = 0; e < 6; e++)  //e                          {                            for (int h = 0; h < 6; h++)  //h                            {                                if ((e + h) == 5)                                 {                                    for (int c = 0; c < flag; c++) //c                                    {                                        //b-d*g=4,b[0-13] 故d*g<10,d,g<10                                        for (int d = 0; d < 10; d++) //d     d*g<=9                                        {                                            for (int g = 0; g < 10; g++) //g                                            {                                                //考虑到f为被除数,故f>0,考虑整除c%f==0                                                for (int f = 1; f < flag; f++) //f                                                {                                                    while ((c % f )== 0&&(c - d * e) == 4 && (f + g - h) == 4 && (a + c / f) == 4 && (b - d * g) == 4)                                                     {                                                            Console.WriteLine("----------------------------------");                                                            Console.Write("a:{0} ", a.ToString());                                                            Console.Write("b:{0} ", b.ToString());                                                            Console.Write("c:{0} ", c.ToString());                                                            Console.Write("d:{0} ", d.ToString());                                                            Console.Write("e:{0} ", e.ToString());                                                            Console.Write("f:{0} ", f.ToString());                                                            Console.Write("g:{0} ", g.ToString());                                                            Console.WriteLine("h:{0} ", h.ToString());                                                            Console.WriteLine("----------------------------------");                                                            Console.ReadLine();                                                    }                                                                                                                                     }                                            }                                        }                                    }                                }                            }                        }                    }                }            }        }

这里写图片描述

1 0
原创粉丝点击