题目:
有如下的加法算式。其中每个汉字代表一个数字。
(如存在对齐问题,可参见【图1.png】)
年
大年
过大年
能过大年
怎能过大年
我怎能过大年
+ 让我怎能过大年
------------------
能能能能能能能
请填写“让我怎能过大年” 所代表的整数。
所有数字连在一起,中间不要空格。例如:"3125697"。当然,这个不是正确的答案。
注意:只填写一个整数,不要填写任何多余的内容。
思路:观察重复规律,判断是否满足
解:
public class Main {
public static void main(String[] args) {
int[] z = new int[7];
for (int i1 = 1; i1 < 10; i1++) {
for (int i2 = 0; i2 < 10; i2++) {
for (int i3 = 0; i3 < 10; i3++) {
for (int i4 = 0; i4 < 10; i4++) {
for (int i5 = 0; i5 < 10; i5++) {
for (int i6 = 0; i6 < 10; i6++) {
kong: for (int i7 = 0; i7 < 10; i7++) {
//利用数组判断七个数是否重复
z[0] = i1;
z[1] = i2;
z[2] = i3;
z[3] = i4;
z[4] = i5;
z[6] = i7;
for (int i = 0; i < 6; i++) {
for (int j = i + 1; j < 7; j++) {
if (z[i] == z[j]) {
//重复跳过本次i7循环
continue kong;
}
}
}
//不重复满足,继续判断是否满足题目要求
if (i7 * 7 + i6 * 60 + i5 * 500 + i4 * 4000
+ i3 * 30000 + i2 * 200000 + i1
* 1000000 == i4 * 1111111) {
//满足输出
System.out.print(i1);
System.out.print(i2);
System.out.print(i3);
System.out.print(i4);
System.out.print(i5);
System.out.print(i6);
System.out.print(i7);
}
}
}
}
}
}
}
}
}
}
输出:1572836