三羊献瑞
观察下面的加法算式:
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
public class Main {
public static void main(String args[]){
int a[]=new int[8];
for(int i=0;i<8;i++){
a[i]=0;
}
fun(a,0);
}
public static void fun(int a[],int n){
if(n==8){
if(check_sum(a)){
System.out.println(a[0]+""+a[1]+""+a[2]+""+a[3]);
return;
}
}else{
for(int i=0;i<10;i++){
a[n]=i;
if(check(a,n)) fun(a,n+1);
}
}
}
public static boolean check(int a[],int n){
boolean flag=true;
if(n==0){
if(a[n]==0) flag=false;
}else{
for(int i=0;i<n;i++){
if(a[i]==a[n]){
flag=false;
break;
}
}
if(n==4 && a[n]==0) flag=false;
}
return flag;
}
public static boolean check_sum(int a[]){
int x=1000*a[4]+100*a[3]+10*a[5]+a[6];
int y=1000*a[0]+100*a[1]+10*a[2]+a[3];
int z=10000*a[0]+1000*a[1]+100*a[5]+10*a[3]+a[7];
if((x+y)==z){
return true;
}else{
return false;
}
}
}
1085