三羊献瑞
观察下面的加法算式:
祥 瑞 生 辉
+ 三 羊 献 瑞
-------------------
三 羊 生 瑞 气
(如果有对齐问题,可以参看【图1.jpg】)
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
1085
9567 + 1085 = 10652
/**
* Created by m1786 on 2017/3/7.
*/
public class 三样献瑞 {
public static void main(String args[]) {
for (int san = 1; san <= 9; san++)//三
for (int yang = 0; yang <= 9; yang++)//羊
for (int xian = 0; xian <= 9; xian++)//献
for (int rui = 0; rui <= 9; rui++)//瑞
for (int xiang = 1; xiang <= 9; xiang++)//祥
for (int sheng = 0; sheng <= 9; sheng++)//生
for (int hui = 0; hui <= 9; hui++)//辉
for (int qi = 0; qi <= 9; qi++)//气
{
int num1,num2,num3;
num1=xiang*1000+rui*100+sheng*10+hui;
num2=san*1000+yang*100+xian*10+rui;
num3=san*10000+yang*1000+sheng*100+rui*10+qi;
if(num3==num2+num1&&judge(san,yang,xian,rui,xiang,sheng,hui,qi)){
System.out.println(num1+" + "+num2+" = "+num3);
}
}
}
static boolean judge(int num1,int num2,int num3,int num4,int num5, int num6,int num7, int num8){
int []array=new int[8];
array[0]=num1; array[1]=num2; array[2]=num3;
array[3]=num4; array[4]=num5; array[5]=num6;
array[6]=num7; array[7]=num8;
for(int i=0;i<=7;i++)
for(int j=i+1;j<=7;j++){
if(array[i]==array[j]&&array[0]!=0)
return false;
}
return true;
}
}