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