最简单的方式,采取排列组合
package unit4test;
public class test4 {
public static void main(String[] args) {
for (int i = 1000; i <= 9999; i++) {
isNumber(i);
}
}
static void isNumber(int i) {
int num[] = new int[4];
int a1 = 0, a2 = 0, a3 = 0, a4 = 0;
int result = 0;
num[0] = (int) (i / 1000);
num[1] = (int) (i - num[0] * 1000)/100;
num[2] = (int) (i - num[0] * 1000 - num[1] * 100)/10;
num[3] = (int) (i - num[0] * 1000 - num[1] * 100 - num[2] * 10);
if (num[2] != 0 || num[3] != 0) {
for (int j = 0; j < 4; j++) {
a1 = num[j];
for (int k = 0; k < 4; k++) {
if (j != k) {
a2 = num[k];
for (int m = 0; m < 4; m++) {
if (j != m && k != m) {
a3 = num[m];
for (int n = 0; n < 4; n++) {
if (j != n && k != n && m != n) {
a4 = num[n];
if (a1 == 0 || a3 == 0) {
continue;
} else {
result = (a1 * 10 + a2)
* (a3 * 10 + a4);
if (result == i) {
System.out.println(result
+ " = "
+ (a1 * 10 + a2) + "*"
+ (a3 * 10 + a4));
return;
}
}
}
}
}
}
}
}
}
}
}
}
执行结果