1175 質數排列

2021-10-09 12:50:12 字數 963 閱讀 8387

題目描述:

請你幫忙給從 1 到 n 的數設計排列方案,使得所有的「質數」都應該被放在「質數索引」(索引從 1 開始)上;你需要返回可能的方案總數。

讓我們一起來回顧一下「質數」:質數一定是大於 1 的,並且不能用兩個小於它的正整數的乘積來表示。

由於答案可能會很大,所以請你返回答案 模 mod 10^9 + 7 之後的結果即可。

示例 1:

輸入:n = 5

輸出:12

解釋:舉個例子,[1,2,5,4,3] 是乙個有效的排列,但 [5,2,3,4,1] 不是,因為在第二種情況裡質數 5 被錯誤地放在索引為 1 的位置上。

示例 2:

輸入:n = 100

輸出:682289015

1 <= n <= 100

方法1:

主要思路:

(1)統計出 n 範圍內的所有的素數,然後將素數和非素數的階乘的成績對1000000007求餘即可;

class

solution

}return

true;}

//計算階乘

long

fun(

int n)

return res;

}int

numprimearrangements

(int n)

int nums_prime=1;

//統計素數,跳過偶數直接判斷

for(

int i=

3;i<=n;i+=2

)}//計算

return

fun(nums_prime)

*fun

(n-nums_prime)%(

1000000007);

}};

LeetCode 1175 質數排列

請你幫忙給從 1 到 n 的數設計排列方案,使得所有的 質數 都應該被放在 質數索引 索引從 1 開始 上 你需要返回可能的方案總數。讓我們一起來回顧一下 質數 質數一定是大於 1 的,並且不能用兩個小於它的正整數的乘積來表示。由於答案可能會很大,所以請你返回答案 模 mod 10 9 7 之後的結...

力扣1175 質數排列

題目描述請你幫忙給從 1 到 n 的數設計排列方案,使得所有的 質數 都應該被放在 質數索引 索引從 1 開始 上 你需要返回可能的方案總數。讓我們一起來回顧一下 質數 質數一定是大於 1 的,並且不能用兩個小於它的正整數的乘積來表示。由於答案可能會很大,所以請你返回答案 模 mod 10 9 7 ...

質數 篩質數

質數定理 1 n中質數有n ln n 個質數 按順序刪除每個數的倍數,最後剩下的就是質數。給定乙個正整數n,請你求出1 n中質數的個數。輸入格式 共一行,包含整數n。輸出格式 共一行,包含乙個整數,表示1 n中質數的個數。資料範圍 1 n 1061 n 106 輸入樣例 8輸出樣例 4 includ...