• 2012年蓝桥杯省赛A组c++第2题(暴力求解古堡算式)


    /*
    古堡算式
    
    福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:
    ABCDE * ? = EDCBA
    他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”
    华生:“我猜也是!”
    于是,两人沉默了好久,还是没有算出合适的结果来。
    你利用计算机的优势,找到破解的答案。
    把 ABCDE所代表的数字写出来。
    */
    
    #include<cstdio>  
    #include<cstring>  
    #include<algorithm>  
    #include<iostream>  
    #include<string>  
    #include<vector>  
    #include<stack>  
    #include<bitset>  
    #include<cstdlib>  
    #include<cmath>  
    #include<set>  
    #include<list>  
    #include<deque>  
    #include<map>  
    #include<queue>  
    using namespace std;
    
    bool test(int i,int j)
    {
        int each[5];
        int temp=i,index=0;
        while(temp)
        {
            each[index++]=temp%10;
            temp=temp/10;
        }
        int reverse=each[0]*10000+each[1]*1000+each[2]*100+each[3]*10+each[4];
        if(i*j==reverse) return true;
        else return false;
    }
    
    int main()
    {
        for(int i=pow(10,4);i<pow(10,5);i++)
            for(int j=2;j<10;j++)//根据对结果的要求,j可以为0或者1 
            {
                if(test(i,j))    cout<<i<<'	'<<j<<endl;
            }
        return 0;
    }

      想法很简单,将数反转再验证即可。这道题简单是因为A、B、C、D、E、?的取值都是0~9。

    tz@COI HZAU

    2018/3/21

  • 相关阅读:
    Spring事务隔离级别、传播机制、实现方式
    包装类缓存
    Object类详解
    String类详解
    自己实现一个Map
    锁机制
    各容器区别比较
    Map-CurrentHashMap
    Javascript中bind()方法的使用与实现
    this、new、call和apply的相关问题
  • 原文地址:https://www.cnblogs.com/acm-icpcer/p/8618729.html
Copyright © 2020-2023  润新知