//
02
// Think in
java03
// FindData.
java04
// 2012-1-31 11:56
05
06
package com.yangjie.finddata;
07
08
public class FindData {
09
10
boolean AnalyzeData(int data) {
11
if (data < 1000 || data > 9999)
12
return false;
13
14
int v0, v1, v2, v3;
15
16
v0 = data % 10;
17
v1 = (data / 10) % 10;
18
v2 = (data / 100) % 10;
19
v3 = (data / 1000) % 10;
20
21
int [] arr = new int [4];
22
arr[0] = v0;
23
arr[1] = v1;
24
arr[2] = v2;
25
arr[3] = v3;
26
27
for (int i = 0; i < 4; i ++) {
28
29
int temp1 = arr;
30
for (int j = 0; j < 4; j ++) {
31
32
if (i != j) {
33
34
int temp2 = arr[j];
35
int [] temp = new int [2];
36
int n = 0;
37
for (int k = 0; k < 4; k ++) {
38
39
if (k != i ;; k != j) {
40
41
temp[n] = arr[k];
42
n ++;
43
}
44
}
45
46
int sum = (temp1 * 10 + temp2) * (temp[0] * 10 + temp[1]);
47
if (sum == data) {
48
49
System.out.println(data + "=" + (temp1 * 10 + temp2) + " * " + (temp[0] * 10 + temp[1]));
50
return true;
51
}
52
53
sum = (temp1 * 10 + temp2) * (temp[0] + temp[1] * 10);
54
if (sum == data) {
55
56
System.out.println(data + "=" + (temp1 * 10 + temp2) + " * " + (temp[0] + temp[1] * 10));
57
return true;
58
}
59
}
60
}
61
}
62
63
return false;
64
}
65
66
public static void main(String[] args) {
67
68
FindData fd = new FindData();
69
for (int i = 1000; i < 9999; i ++) {
70
71
fd.AnalyzeData(i);
72
}
73
}
74
}