题面
福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:
ABCDE * ? = EDCBA
他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”
华生:“我猜也是!”
于是,两人沉默了好久,还是没有算出合适的结果来。
请你利用计算机的优势,找到破解的答案,把 ABCDE 所代表的数字写出来。
题解
枚举
暴力枚举即可,具体见代码。
答案:
21978
代码
#include<iostream>
using namespace std;
int main() {
for (int a = 1; a <= 9; ++a) {
for (int b = 0; b <= 9; ++b) {
if (b == a) continue;
for (int c = 0; c <= 9; ++c) {
if (c == a || c == b) continue;
for (int d = 0; d <= 9; ++d) {
if (d == a || d == b || d == c) continue;
for (int e = 1; e <= 9; ++e) {
if (e == d || e == c || e == b || e == a) continue;
for (int f = 2; f <= 9; ++f) {
if (f == a || f == b || f == c || f == d || f == e) continue;
if ((a * 10000 + b * 1000 + c * 100 + d * 10 + e) * f ==
(e * 10000 + d * 1000 + c * 100 + b * 10 + a)) {
cout << a * 10000 + b * 1000 + c * 100 + d * 10 + e << endl;
}
}
}
}
}
}
}
return 0;
}
标题: | 2012年第三届蓝桥杯省赛-B.古堡算式 |
---|---|
链接: | https://www.fightingok.cn/detail/153 |
更新: | 2022-09-18 22:43:29 |
版权: | 本文采用 CC BY-NC-SA 3.0 CN 协议进行许可 |