通过万岁!!!
java代码
class Solution {
public int numPrimeArrangements(int n) {
// 首先找到有多少个质数
int[] primes = new int[]{2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83,
89, 97, 101};// 必须多写一个
int num = 0;// 多少个质数
while (primes[num] <= n) {
num++;
}
// 然后计算n-num的阶乘,然后*num的阶乘
return (int) (factorial(n - num) * factorial(num) % 1000000007);
}
public long factorial(int n) {
long ans = 1;
for (int i = 2; i <= n; i++) {
ans *= i;
ans %= (Math.pow(10, 9) + 7);
}
return ans;
}
}