2012 蓝桥杯【初赛试题】古堡算式

时间:2021-08-13 09:45:20
古堡算式
福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:
ABCDE * ? = EDCBA
他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”
华生:“我猜也是!”
于是,两人沉默了好久,还是没有算出合适的结果来。
请你利用计算机的优势,找到破解的答案。
把 ABCDE 所代表的数字写出来。

思路:循环遍历每个字母可能的情况。因为是填空题,要的是结果,所以笔者直接用暴力手段取结果了
  结果:21978


#include<iostream>#include<string>
#include<cstring>
#include<stack>
#include<queue>
#include<iomanip>
#include<cmath>
using namespace std;
int main() {
int x;
int y;
for (int i = 1; i <= 9;i++) {//A
for (int j = 0; j <= 9; j++) {//B
for (int k = 0; k <= 9; k++) {//C
for (int l = 0; l <= 9; l++) {//D
for (int m = 0; m <= 9; m++) {//E
for (int n = 1; n < 9;n++) {//?
x = i * 10000 + j * 1000 + k * 100 + l * 10 + m;
y = m * 10000 + l * 1000 + k * 100 + j * 10 + i;
if (x*n==y&& i!=j && i!=k && i!=l && i!=m) {
cout <<"x: "<< x<<endl;
exit(0);
}
}
}
}
}
}
}
return 0;
}