福尔摩斯到某古堡探险

来源:互联网 发布:java 日志 编辑:程序博客网 时间:2024/05/17 05:59

问题:

福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:

    ABCDE * ? = EDCBA

    他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”

    华生:“我猜也是!”

    于是,两人沉默了好久,还是没有算出合适的结果来。

    请你利用计算机的优势,找到破解的答案。

    把 ABCDE 所代表的数字写出来。

代码:

#include <stdio.h>#include <stdlib.h>int main(){    int a,b,c,d,e,w;    int sum1,sum2;    for(a=1; a<=9; a++)    {        for(b=1; b<=9; b++)        {            for(c=0; c<=9; c++)            {                for(d=1; d<=9; d++)                {                    for(e=1; e<=9; e++)                    {                        for(w=1; w<=9; w++)                        {                            sum1=e+d*10+c*100+b*1000+a*10000;                            sum2=a+b*10+c*100+d*1000+e*10000;                            if(sum1*w==sum2 &&a!=b&&a!=c&&a!=d&&a!=e&&b!=c&&b!=d&&b!=e&&c!=d&&c!=e&&d!=e)                                printf("%d %d %d %d %d %d\n",a,b,c,d,e,w);                        }                    }                }            }        }    }    return 0;}

运行结果:


小结:题目比较简单,穷举即可。(ps:你们这样黑福尔摩斯,小心他从书里爬出来找你们去)

原创粉丝点击