您的位置:首页 > 其它

标题: 马虎的算式

2017-03-15 20:53 211 查看
#include<stdio.h>

int m[6];所求的5个数放在这个数组中

int v[10]={0};//9个数字用来标志为0;

int cnt=0;

void check()//挑选符合的结果

{

 int s1,s2,s3,s4;

 s1=m[1]*10+m[2];

 s2=m[3]*100+m[4]*10+m[5];

 s3=m[1]*100+m[4]*10+m[2];

 s4=m[3]*10+m[5];

 if(s1*s2==s3*s4)

 {

  cnt++;

 }

}

void out()

{

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

  {

   printf("%d",m[i]);

   

  }

  printf("\n");

}

void dfs(int n)//深度搜索:找出不同的5位数;

{

 if(n==6)

 {//out();查看排列是fong正确

 check();

  return ;

 }

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

 {

  if(v[i]==0)

  {

   v[i]=1;

   m
=i;

   dfs(n+1);

   v[i]=0;

  }

   

 }

}

main()

{

 dfs(1);

 printf("%d",cnt);

 return 0;

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