[C#]横竖都是4九宫格算法
2018-07-20 来源:open-open
群里的网友抛出了这样一道题
我的算法:
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(); } } } } } } } } } } } }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
最新资讯
热门推荐