4ms 65.51%
class Solution {
public:
const int m=1e9+7;
bool ispri(int n){
for(int i=2;i<=sqrt(n);i++)
if(n%i==0)return false;
return true;
}
long long factorial(long long n){
if(n==0)return 1;
return (n*factorial(n-1))%m;
}
int numPrimeArrangements(int n) {
int pri=0;
for(int i=2;i<=n;i++)
if(ispri(i))pri++;
int fac=n-pri;
int ans=(factorial(pri)*factorial(fac))%m;
return (int)ans;
}
};