第三届蓝桥杯CC++B组2
福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:
ABCDE * ? = EDCBA
他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”
华生:“我猜也是!”
于是,两人沉默了好久,还是没有算出合适的结果来。
请你利用计算机的优势,找到破解的答案。
把 ABCDE 所代表的数字写出来。
答案写在“解答.txt”中,不要写在这里!
#include<iostream> #include<algorithm> using namespace std; /*int arr[11], brr[11]; void DFS(int i){ if (i==7){ if ((arr[1]*10000+arr[2]*1000+arr[3]*100+arr[4]*10+arr[5])*arr[6]== (arr[5]*10000+arr[4]*1000+arr[3]*100+arr[2]*10+arr[1]) &&arr[1]!=0&&arr[5]!=0&&arr[6]!=0){ cout<<arr[1]<<" "<<arr[2]<<" "<<arr[3]<<" "<<arr[4]<<" "<<arr[5]<<" "<<arr[6]<<endl; } } else{ for (int j=0; j<=9; j++){ if (!brr[j]){ arr[i]=j; brr[j]=1; DFS(i+1); brr[j]=0; } } } } int main() { DFS(1); return 0; } */ int main() { int arr[11]={0,1,2,3,4,5,6,7,8,9}; do{ if ((arr[1]*10000+arr[2]*1000+arr[3]*100+arr[4]*10+arr[5])*arr[6]== (arr[5]*10000+arr[4]*1000+arr[3]*100+arr[2]*10+arr[1]) &&arr[1]!=0&&arr[5]!=0&&arr[6]!=0){ cout<<arr[1]<<" "<<arr[2]<<" "<<arr[3]<<" "<<arr[4]<<" "<<arr[5]<<" "<<arr[6]<<endl; break; } }while (next_permutation(arr, arr+10)); return 0; }