马虎的算式

来源:互联网 发布:adobe有哪些软件 编辑:程序博客网 时间:2024/04/28 09:01

小明是个急性子,上小学的时候经常把老师抄在黑板上的题目写错了,有一次题目是

365X45=

他却炒抄诚396X45

但是结果不哦却很具有戏剧性,他的答案是对的

类似的结果还有很多

假设a b c d c e 代表不同的数字、

满足以下的情况

ab*cde=adb*ce

这样的算式一共有多少

请你利用计算机的优势寻找所有的可能

满足交换律,所以你提交的答案肯定是个偶数

答案:142

源码:

#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;

}

 

 

 

 




0 0
原创粉丝点击