有如下的加法算式。其中每个汉字代表一个数字。
(如存在对齐问题,可参见【图1.png】)
(如存在对齐问题,可参见【图1.png】)
年
大年
过大年
能过大年
怎能过大年
我怎能过大年
+ 让我怎能过大年
------------------
能能能能能能能
请填写“让我怎能过大年” 所代表的整数。
所有数字连在一起,中间不要空格。例如:"3125697"。当然,这个不是正确的答案。
注意:只填写一个整数,不要填写任何多余的内容。
package 第五届校内选拔javaC组;
public class 第三题过大年 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a[] = new int[7];
boolean visit[] = new boolean[10];
dfs(a,0,visit);
System.out.println("end");
}
private static void dfs(int[] a, int i, boolean[] visit) {
// TODO Auto-generated method stub
if (i==7) {
judge(a);
return;
}
for (a[i] = 0; a[i] < 10; a[i]++) {
if (visit[a[i]]==false) {
visit[a[i]]=true;
i=i+1;
dfs(a, i,visit);
i=i-1;
visit[a[i]]=false;
}
}
}
private static void judge(int[] a) {
int temp = 0;
int sum = 0;
int neng = 0;
for (int i = 0; i < 7; i++) {
temp = (int) (a[i]*Math.pow(10, i)+temp);
sum = (int) (sum + temp);
neng = (int) (a[3]*Math.pow(10, i)+neng);
}
if (sum==neng) {
System.out.println(temp);
}
}
}