您的位置:首页 > 其它

古堡算式

2017-02-19 09:02 176 查看
福尔摩斯到某古堡去探险,看到门上写了一个奇怪的算式:

ABCDE*?=EDCBA

他对毕生说:“ABCDE” 每个字母都应该代表不同的数字

华生说我猜也是!

于是两人沉默好久

还是没有算出合适的结果

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

把ABCDE所代表的数字列出来

答案
:2 1 9 7 8

#include<iostream>

 

#include<algorithm>

#include<cstdio>

using namespace std;

int a[10];

int book[10];

int check()

{    

int flag=1;

int A=a[0]*10000+a[1]*1000+a[2]*100+a[3]*10+a[4];

int B=a[4]*10000+a[3]*1000+a[2]*100+a[1]*10+a[0];

for(int i=1;i<10;i++)

{

if((A*i)==B)

{

flag=0;

break;}

}

if(!flag)

return 1;

return 0;

}

void  dfs(int step)

{

if(step==5)

{

if(check()==1)

{

printf("%d %d %d %d %d",a[0],a[1],a[2],a[3],a[4]);

 

}

return ;

}

for(int i=1;i<10;i++)

{

if(book[i]==0)

{

a[step]=i;

book[i]=1;

dfs(step+1);

book[i]=0;

}

}

return ;

}

int main()

{

dfs(0);

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: