其他分享
首页 > 其他分享> > leetcode1175-质数排列

leetcode1175-质数排列

作者:互联网

质数排列
分别找出质数和合数的数量,将两者的阶乘相乘即可

class Solution {
    public int numPrimeArrangements(int n) {
        int cnt = 0;
        for(int i = 2; i <= n; i++){
            boolean flag = true;
            for(int j = 2; j*j <= i; j++){
                if(i % j == 0){
                    flag = false;
                    break;
                }
            }
            if(flag)    cnt++;
        }
        long res = 1, mod = (int)1e9+7;
        for(int i = 1; i <= cnt; i++)
            res = (res * i) % mod;
        for(int i = 1; i <= n-cnt; i++)
            res = (res * i) % mod;
        return (int)res;
    }
}

标签:排列,int,质数,leetcode1175,numPrimeArrangements,阶乘
来源: https://www.cnblogs.com/xzh-yyds/p/16592923.html