[C#]橫豎都是4九宮格算法

4528krkj 8年前發布 | 4K 次閱讀 C# .NET

群里的網友拋出了這樣一道題
這里寫圖片描述
我的算法:

        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();
                                                    }                                                                                     
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }

這里寫圖片描述

 本文由用戶 4528krkj 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!