首页 > 学院 > 开发设计 > 正文

古堡算式

2019-11-08 02:35:53
字体:
来源:转载
供稿:网友

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

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;

}


上一篇:李白打酒

下一篇:字符串的全排列

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表