福爾摩斯到某古堡去探險(xiǎn),看到門(mén)上寫(xiě)了一個(gè)奇怪的算式:
ABCDE*?=EDCBA
他對(duì)畢生說(shuō):“ABCDE” 每個(gè)字母都應(yīng)該代表不同的數(shù)字
華生說(shuō)我猜也是!
于是兩人沉默好久
還是沒(méi)有算出合適的結(jié)果
請(qǐng)你利用計(jì)算機(jī)的優(yōu)勢(shì),找到破解的答案
把ABCDE所代表的數(shù)字列出來(lái)
答案 :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;
}
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注