62,621
社区成员
发帖
与我相关
我的任务
分享
List<Integer> list1 = new ArrayList<Integer>();
int[] array = new int[]{2, 3, 5, 7};
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array.length; j++) {
for (int k = 0; k < array.length; k++) {
list1.add(Integer.parseInt(array[i] + "" + array[j] + "" + array[k]));
}
}
}
List<Integer> list2 = new ArrayList<Integer>();
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array.length; j++) {
list2.add(Integer.parseInt(array[i] + "" + array[j]));
}
}
for (int i = 0; i < list1.size(); i++) {
for (int j = 0; j < list2.size(); j++) {
int v = list1.get(i) * list2.get(j);
int v1 = list1.get(i) * (list2.get(j) % 10);
int v2 = list1.get(i) * (list2.get(j) / 10);
if (String.valueOf(v).matches("[2357]{5}") && String.valueOf(v1).matches("[2357]{4}") && String.valueOf(v2).matches("[2357]{4}")) {
System.out.println(" " + list1.get(i));
System.out.println("* " + list2.get(j));
System.out.println("-----------");
System.out.println(" " + v2);
System.out.println(" " + v1);
System.out.println("-----------");
System.out.println(" " + v);
}
}
}
int[] primes = new int{2,3,5,7};
int[] nums = new int[5];
//省略判断成功函数success();
//main 方法这么调用:solve(0);
private void solve(int depth){
if(depth >= 5){
if(success(nums)){
System.out.println(Arrays.toString(nums));
}
return;
}
for(int p:primes){
nums[depth] = p;
solve( ++depth );
}
}