设红、花、映、绿、叶、春都是一个10以内的整数,其中“红花映绿叶”组成一个五位整数。若“红花映绿叶X春=叶绿映花红”,问一下红花映绿叶春分别是什么数。
解决方案
15
答案简直太多了。
笨办法:
笨办法:
int hong,hua,ying,lv,ye,chun = 0; string mes = ""; for (hong = 1; hong < 10; hong++) { for (hua = 1; hua < 10; hua++) { for (ying = 1; ying < 10; ying++) { for (lv = 1; lv < 10; lv++) { for (ye = 1; ye < 10; ye++) { for (chun = 1; chun < 10; chun++) { int a = hong * 10000 + hua * 1000 + ying * 100 + lv * 10 + ye; int b = ye * 10000 + lv * 1000 + ying * 100 + hua * 10 + hong; if (a * chun == b)//红花映绿叶X春=叶绿映花红 { if (mes != "") mes += ",红" + hong + ",花" + hua + ",映" + ying + ",绿" + lv + ",叶" + ye + ",春" + chun; else mes += "红" + hong + ",花" + hua + ",映" + ying + ",绿" + lv + ",叶" + ye + ",春" + chun; } } } } } } } MessageBox.Show(mes);
15
int count = 1; string 红 = string.Empty, 花 = string.Empty, 映 = string.Empty, 绿 = string.Empty, 叶 = string.Empty, 春 = string.Empty; for (int a = 0; a < 10; a++) { for (int b = 0; b < 10; b++) { for (int c = 0; c < 10; c++) { for (int d = 0; d < 10; d++) { for (int e = 0; e < 10; e++) { for (int f = 0; f < 10; f++) { 红 = a.ToString(); 花 = b.ToString(); 映 = c.ToString(); 绿 = d.ToString(); 叶 = e.ToString(); 春 = f.ToString(); int result = int.Parse(红 + 花 + 映 + 绿 + 叶) * int.Parse(春); if (result == int.Parse(叶 + 绿 + 映 + 花 + 红)) { Console.WriteLine(string.Format("红:{0} 花 :{1} 映 :{2} 绿 :{3} 叶:{4} 春:{5} 计数:{6}", 红, 花, 映, 绿, 叶, 春, count)); count++; } } } } } } } Console.Read();