第二题 古堡算式
福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:ABCDE * ? = EDCBA
他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”
华生:“我猜也是!”
于是,两人沉默了好久,还是没有算出合适的结果来。
请你利用计算机的优势,找到破解的答案。
把 ABCDE 所代表的数字写出来。
答案写在“解答.txt”中,不要写在这里!
【思路】使用暴力法破解。
【代码】
#include <iostream>
using namespace std;
/*
ABCDE * ? = EDCBA
*/
int main()
{
for(int A=1;A<=9;A++)
{
for(int B=0;B<=9;B++)
{
for(int C=0;C<=9;C++)
{
for(int D=0;D<=9;D++)
{
for(int E=0;E<=9;E++)
{
for(int F=1;F<=9;F++)
{
if(A!=B && A!=C && A!=D && A!=E && B!=C && B!=D && B!=E && C!=D && C!=E && D!=E)
{
if((A*10000+1000*B+100*C+10*D+E)*F == (E*10000+1000*D+100*C+10*B+A))
{
cout << A << B << C << D << E << endl;
}
}
}
}
}
}
}
}
return 0;
}
【结果】21978