蓝桥杯 第三届C/C++预赛真题(2) 古堡算式(数学题)
福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:
ABCDE * ? = EDCBA
他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”
华生:“我猜也是!”
于是,两人沉默了好久,还是没有算出合适的结果来。
请你利用计算机的优势,找到破解的答案。
把 ABCDE 所代表的数字写出来。
答案写在“解答.txt”中,不要写在这里!
数学题。
写一个6重循环,计算10^6次(不会超时,计算机一般每秒可以处理10^8次操作),遍历所有情况,输出符合的结果。
注意:ABCDE这五个数字应该是不同的数字,不能出现11111的情况。
解答:21978
代码:
1 //解答:21978
2 #include <iostream>
3
4 using namespace std;
5
6 int main()
7 {
8 for(int a=1;a<=9;a++)
9 for(int b=0;b<=9;b++)
10 if(a!=b)
11 for(int c=0;c<=9;c++)
12 if(a!=c && b!=c)
13 for(int d=0;d<=9;d++)
14 if(a!=d && b!=d && c!=d)
15 for(int e=0;e<=9;e++)
16 if(a!=e && b!=e && c!=e && d!=e)
17 for(int x=1;x<=9;x++){
18 int t1 = a*10000+b*1000+c*100+d*10+e;
19 int t2 = e*10000+d*1000+c*100+b*10+a;
20 if(t1*x==t2)
21 cout<<t1<<endl;
22 }
23 return 0;
24 }
Freecode : www.cnblogs.com/yym2013