2012年第三届蓝桥杯C/C++程序设计本科B组省赛题目:
古堡算式
福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:
ABCDE * ? = EDCBA
他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”
华生:“我猜也是!”
于是,两人沉默了好久,还是没有算出合适的结果来。
请你利用计算机的优势,找到破解的答案。
把 ABCDE 所代表的数字写出来。
#include<iostream>
using namespace std;
int main(){
for(int i=1;i<=9;i++)
{
for(int j=1;j<=9;j++){
if(j==i)continue;
for(int k=1;k<=9;k++)
{
if(k==i||k==j)continue;
for(int q=1;q<=9;q++){
if(q==i||q==j||q==k)continue;
for(int w=1;w<=9;w++){
if(w==q||w==i||w==j||w==k)continue;
int sum=i*10000+j*1000+k*100+q*10+w;
for(int s=1;s<=9;s++)
{if(sum*s==w*10000+q*1000+k*100+j*10+i)
{
cout<<sum<<" "<<s<<" "<<w*10000+q*1000+k*100+j*10+i;
return 0;
}
}
}
}
}
}
}
return 0;
}