三 羊 献 瑞问题描述:
观察下面的加法算式:
祥 瑞 生 辉
三 羊 献 瑞
三 羊 生 瑞 气
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
用暴力方法解决:
//三羊献瑞问题 暴力算法解决
int a1,a2,a3,a4,a5,a6,a7,a8;
double sum1 =0,sum2=0 ,result=0;
for ( a1 = 0 ; a1< 10 ; a1++) {
for( a2 = 0 ; a2 < 10 ; a2++) {
if(a1!=a2) {
for(a3 = 0 ; a3 < 10 ; a3++) {
if( a3!=a1 && a3 !=a2) {
for(a4 = 0 ; a4 < 10 ; a4++) {
if(a4 != a1 && a4!=a2 && a4!=a3 ) {
for(a5 = 0 ; a5 < 10 ; a5++) {
if(a5 != a1 && a5!=a2 && a5!=a3 && a5!=a4) {
for(a6 = 0 ; a6 <10 ; a6++) {
if(a6 != a1 && a6!=a2 && a6!=a3 && a6!=a4&& a6!=a5) {
for(a7 = 0 ;a7 < 10 ; a7++) {
if(a7 != a1 && a7!=a2 && a7!=a3 && a7!=a4&& a7!=a5&&a7!=a6) {
sum1 = a1*1000+a2*100+a3*10+a4;
sum2 = 1000+a5*100+a6*10+a2;
result = 10000+a5*1000+a3*100+a2*10+a7;
}
if(sum1+sum2 == result) {
System.out.println(sum1+"+"+sum2+"="+result);
}
}
}
}
}
}
}
}
}
}
}
}
}
}