首页 > 其他分享 >leetcode-1175-easy

leetcode-1175-easy

时间:2022-11-26 20:45:28浏览次数:46  
标签:prime 1175 int 质数 easy leetcode

leetcode-1175-easy

Return the number of permutations of 1 to n so that prime numbers are at prime indices (1-indexed.)

(Recall that an integer is prime if and only if it is greater than 1, and cannot be written as a product of two positive integers both smaller than it.)

Since the answer may be large, return the answer modulo 10^9 + 7.

Example 1:

Input: n = 5
Output: 12
Explanation: For example [1,2,5,4,3] is a valid permutation, but [5,2,3,4,1] is not because the prime number 5 is at index 1.
Example 2:

Input: n = 100
Output: 682289015
Constraints:

1 <= n <= 100

思路一:分阶段处理,判断数字是否质数,组合公式计算,n 个数字里面有 m 个质数,质数都要放在质数位置,这样有 m!*(n-m)! 种排列方式

public int numPrimeArrangements(int n) {
    int primeCount = 0;
    for (int i = 1; i <= n; i++) {
        if (isPrime(i)) primeCount++;
    }

    long ans = 1;
    for (int i = 1; i <= primeCount; i++) {
        ans *= i;

        ans %= 1000000007;
    }
    for (int i = 1; i <= n - primeCount; i++) {
        ans *= i;

        ans %= 1000000007;
    }

    return (int)ans;
}

public boolean isPrime(int x) {
    if (x == 1 || x % 2 == 0 && x != 2) {
        return false;
    } else {
        for (int i = 2; i < x; i++) {
            if (x % i == 0) {
                return false;
            }
        }
    }
    return true;
}

标签:prime,1175,int,质数,easy,leetcode
From: https://www.cnblogs.com/iyiluo/p/16928252.html

相关文章

  • leetcode-929-easy
    UniqueEmailAddressesEveryvalidemailconsistsofalocalnameandadomainname,separatedbythe'@'sign.Besideslowercaseletters,theemailmaycontai......
  • leetcode-696-easy
    CountBinarySubstringsGivenabinarystrings,returnthenumberofnon-emptysubstringsthathavethesamenumberof0'sand1's,andallthe0'sandallth......
  • leetcode-796-easy
    RotateStringGiventwostringssandgoal,returntrueifandonlyifscanbecomegoalaftersomenumberofshiftsons.Ashiftonsconsistsofmovingthe......
  • leetcode-1299-easy
    ReplaceElementswithGreatestElementonRightSideGivenanarrayarr,replaceeveryelementinthatarraywiththegreatestelementamongtheelementstoit......
  • leetcode-110-easy
    BalancedBinaryTreeGivenabinarytree,determineifitisheight-balanced.Example1:Input:root=[3,9,20,null,null,15,7]Output:trueExample2:Input......
  • #yyds干货盘点# LeetCode 腾讯精选练习 50 题:反转字符串中的单词 III
    题目:给定一个字符串 s ,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。 示例1:输入:s="Let'stakeLeetCodecontest"输出:"s'teLekatedoCteeL......
  • easylogging++的那些事(四)源码分析(二)日志记录宏(一)CLOG宏(四)日志信息保存
    目录writer类的输出运算符writer类的流操控符el::base::MessageBuilder类CLOG宏接口调用流程图在上一篇中我们分析完了CLOG宏日志输出的流程,在结尾的时候我们提......
  • leetcode_D3_27移除元素
    1.题目   2.解一   主要思路:解一为本人解法,主要思路是先利用循环删除掉所有数组中值等于val的元素,然后可以直接返回数组的长度和其中的元素。感觉是没经过......
  • 二分查找-LeetCode704 简单题
    LeetCode代码链接:https://leetcode.cn/problems/binary-search/题目:给定一个 n 个元素有序的(升序)整型数组 nums和一个目标值 target ,写一个函数搜索 nums 中的t......
  • [LeetCode] 809. Expressive Words
    Sometimespeoplerepeatletterstorepresentextrafeeling.Forexample:"hello"->"heeellooo""hi"->"hiiii"Inthesestringslike "heeellooo",wehaveg......