有如下的加法算式。其中每个汉字代表一个数字。
(如存在对齐问题,可参见【图1.png】)
年
大年
过大年
能过大年
怎能过大年
我怎能过大年
- 让我怎能过大年
能能能能能能能
请填写“让我怎能过大年” 所代表的整数。
所有数字连在一起,中间不要空格。例如:“3125697”。当然,这个不是正确的答案。
注意:只填写一个整数,不要填写任何多余的内容。
使用暴力破解
public class Main {
public static void main(String[] args) {
for (int a = 0; a < 10; a++) {
for (int b = 0; b < 10; b++) {
for (int c = 0; c < 10; c++) {
for (int d = 0; d < 10; d++) {
for (int e = 0; e < 10; e++) {
for (int f = 0; f < 10; f++) {
for (int g = 0; g < 10; g++) {
int a1 = a;
int a2 = a + b * 10;
int a3 = a + b * 10 + c * 100;
int a4 = a + b * 10 + c * 100 + d * 1000;
int a5 = a + b * 10 + c * 100 + d * 1000
+ e * 10000;
int a6 = a + b * 10 + c * 100 + d * 1000
+ e * 10000 + f * 100000;
int a7 = a + b * 10 + c * 100 + d * 1000
+ e * 10000 + f * 100000 + g
* 1000000;
int aa = a1 + a2 + a3 + a4 + a5 + a6 + a7; // 求和
if (aa == d * 1000000 + d * 100000 + d
* 10000 + d * 1000 + d * 100 + d
* 10 + d) {
if (a != b && b != c && c != d
&& d != e && e != f && f != g
&& b != d && b != e && b != f
&& b != g && c != e && c != f
&& c != g && d != f && d != g
) {// 个位各都不相同
System.out.println(g + “让” + f
+ “我” + e + “怎” + d
+ "能 " + c + “过” + b
+ “大” + a+“年”);
}
}
}
}
}
}
}
}
}
}
}
完毕 go