蓝桥杯 第三届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

posted @ 2014-03-13 14:59  Freecode#  阅读(537)  评论(0编辑  收藏  举报