福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:
ABCDE * ? = EDCBA
他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”
华生:“我猜也是!”
于是,两人沉默了好久,还是没有算出合适的结果来。
请你利用计算机的优势,找到破解的答案。
把 ABCDE 所代表的数字写出来。
#include <iostream>
using namespace std;
int sum(int a,int b,int c,int d,int e)
{
return a*10000 + b*1000 + c*100 + d*10 +e;
}
void main()
{
int A,B,C,D,E;
for (int i=10000; i<99000; i++)
{
E = i%10;
D = i%100 / 10;
C = i%1000 /100;
B = i%10000 / 1000;
A = i / 10000;
if (A != B && A != C && A != D && D != E && A != E && C != B && A != D && E != B && C != D && C != E )
{
for (int j=1; j<10; j++)
{
if( sum(A,B,C,D,E)*j == sum(E,D,C,B,A))
cout<<A<<B<<C<<D<<E<<"*"<<j<<" = "<<E<<D<<C<<B<<A<<endl;
}
}
}
system("pause");
}