package test;
public class 填算式 {
static int count=0;
public static void main(String arg[])
{
char[] num="123456789".toCharArray();
Dfs(num,0,8);
System.out.println(count);
}
private static void Dfs(char[] num, int step, int end) {
// TODO Auto-generated method stub
if(step==end)
{
if(check(num))
{
count++;
//System.out.println(num[0] + "" + num[1] + "" + num[2] + "+" + num[3] + "" + num[4] + "" +
//num[5] + "=" + num[6] + "" + num[7] + "" + num[8]);
}
}
for(int i=step;i<=end;i++)
{
Swap(num,i,step);
Dfs(num,step+1,end);
Swap(num,i,step);
}
}
private static void Swap(char[] num, int i, int step) {
// TODO Auto-generated method stub
char temp=num[i];
num[i]=num[step];
num[step]=temp;
}
private static boolean check(char[] a) {
// TODO Auto-generated method stub
int[] num=new int[9];
for(int i=0;i<9;i++)
{
num[i]=a[i]-'0';
}
if(100*num[0]+10*num[1]+num[2]+100*num[3]+10*num[4]+num[5]==100*num[6]+10*num[7]+num[8])
return true;
return false;
}
}