第六届蓝桥杯校内选拔赛C/C++高职组解题(3)

作者: admin 日期: 2015-05-02 22:24:26 人气: - 评论: 0

有如下的加法算式。其中每个汉字代表一个数字。
(如果存在对齐问题,可参见【图1.png】)


               年
             大年
           过大年
         能过大年
       怎能过大年
     我怎能过大年
+  让我怎能过大年
------------------
   能能能能能能能


请填写“让我怎能过大年” 所代表的整数。
所有数字连在一起,中间不要空格。例如:"3125697"。当然,这个不是正确的答案。


注意:只填写一个整数,不要填写任何多余的内容。


1234567




答案 1572836

  1. #include <iostream>  
  2. #include <cmath>  
  3. #include <string>  
  4. #include <windows.h>  
  5. #include <stack>  
  6. #include <vector>  
  7. #include <iomanip>   
  8. #include <stack>   
  9. #include <set>  
  10. #include <map>  
  11. #include <cstdio>  
  12. using namespace std;  
  13. int main()  
  14. {  
  15.     for(int i=1234567;i<=9876543;i++)  
  16.     {  
  17.         map<int,int> m;  
  18.         int map[10]={0};  
  19.         int k=0;  
  20.         int t=i;  
  21.         while(t)  
  22.         {  
  23.             int mod=t%10;  
  24.             if(map[mod]==1)  
  25.             {  
  26.                 k=0;  
  27.                 break;  
  28.             }  
  29.             else  
  30.             {  
  31.                 k++;  
  32.                 m[k]=mod;  
  33.                 map[mod]=1;  
  34.             }  
  35.             t/=10;  
  36.         }  
  37.         if(k==7)  
  38.         {  
  39.             if(7*m[1]+60*m[2]+500*m[3]+4000*m[4]+30000*m[5]+200000*m[6]+1000000*m[7]==1111111*m[4])  
  40.             {  
  41.                 cout<<i<<endl;  
  42.             }  
  43.         }  
  44.     }  
  45.     return 0;  
  46. }  


发表评论
更多 网友评论0 条评论)
暂无评论

Copyright © 2012-2014 我的代码板 Inc. 保留所有权利。

页面耗时0.0332秒, 内存占用1.89 MB, 访问数据库16次

闽ICP备15009223号-1