//第三屆藍橋杯軟件類省賽真題-C-A-2_古堡算式/* 福爾摩斯到某古堡探險,看到門上寫著一個奇怪的算式: ABCDE * ? = EDCBA 他對華生說:“ABCDE應該代表不同的數字,問號也代表某個數字!” 華生:“我猜也是!” 于是,兩人沉默了好久,還是沒有算出合適的結果來。 請你利用計算機的優勢,找到破解的答案。 把 ABCDE 所代表的數字寫出來。 答案寫在“解答.txt”中,不要寫在這里! *//*【解題思路】解法:暴力枚舉或遞歸深搜 答案:A=2,B=1,C=9,D=7,E=8*/#include<iostream>using namespace std;bool isSolution(int a,int b,int c,int d,int e){ for(int i=1;i<=9;i++) { if(a!=b && a!=c && a!=d && a!=e && b!=c && b!=d && b!=e && c!=d && c!=e && d!=e){ if((a*10000+b*1000+c*100+d*10+e)*i==(e*10000+d*1000+c*100+b*10+a)) return true; } else return false; } return false;}int main(){ int a,b,c,d,e; for(a=0;a<=9;a++) for(b=0;b<=9;b++) for(c=0;c<=9;c++) for(d=0;d<=9;d++) for(e=0;e<=9;e++) if(isSolution(a,b,c,d,e)){ cout<<"A="<<a<<endl; cout<<"B="<<b<<endl; cout<<"C="<<c<<endl; cout<<"D="<<d<<endl; cout<<"E="<<e<<endl; } return 0;}
新聞熱點
疑難解答