package Three;
import java.util.HashSet;
import java.util.Set;
public class Two {
// 1 9 4 9 随意组合成素数 可以组成多少种
// 1. 写一个方法判断是否为素数
// 2. 1949 的所有组合方法
static Set<Integer> set = new HashSet<Integer>();
public static void main(String[] args) {
int[] arr = { 1, 4, 9, 9 };
pd(arr, 0);
System.out.println(set);
}
public static void pd(int[] arr, int k) {
if (k == 4) {
check(arr);
}
for (int x = k; x < 4; x++) {
int t = arr[x];
arr[x] = arr[k];
arr[k] = t;
// 递归调用
pd(arr, k + 1);
// 位置还原
t = arr[x];
arr[x] = arr[k];
arr[k] = t;
}
}
public static void check(int[] arr) {
// 判断是否为素数
int x = arr[0] * 1000 + arr[1] * 100 + arr[2] * 10 + arr[3];
boolean bl = true;
for (int i = 2; i <= Math.sqrt(x); i++) {
if (x % i == 0) {
bl = false;
break;
}
}
if (bl) {
set.add(x);
}
}
}