pku 2992 因子和因子個數的應用

2021-06-22 22:54:48 字數 592 閱讀 8510

題意是要求c(n, k)約數的個數:

如果資料不大,我們可以用楊輝三角遞推出來組合數,然後再求約數的個數。

但是這道題資料比較大,需要處理一下:

(1)首先先篩選出440以內的素數

(2)然後處理階乘  將階乘素因子分解

因為如果乙個整數能素因子分解為如下形式: s=(p1^a1)*(p2^a2)*(p3^a3)*(p4^a4)....... (1)式

那麼其因子個數為:(a1+1)*(a2+1)*(a3+1)*(a4+1)*...........

c(n,k)= n!/k!(n-k)!

把分子和分母都轉化為(1)式即可求出

下面給出我的**

#include

#include

#include

using namespace std;

int  n,k,num=0;

int  prime[440];

bool isprime[440];

void doprime()             //線性篩選出440以內的素數}}

int main()

return 0;

}

pku2992(約數,素因子分解)

題意 求組合數c n k 的約數個數。k n 431 思路 乙個數num的約數個數為cnt,將num質因數分解,得num p1 a1 p2 a2 p3 a3 pn an.則約數個數cnt a1 1 a2 1 a3 1 an 1 c n k n n k k 先預求1到 的素數表。沒有預處理很容易超時的...

poj2992 N 素因子個數,因子個數

題目大意 求組合數cnk的因子個數 思路 要求因子個數,由於因子可由素因子組合而成,所以先求得素因子個數 n 某素因子p的指數公式 p n n p 1 n p 2 n p 3 n p n 其中最後乙個式子中n是使得p n小於等於 的最大數 因子個數公式 cnt p1 1 p2 1 p3 1 pn 1...

因子和因子個數

所有因子個數 n 與所有因子的和 n 都是乘 積 性函式。定義1 因子和函式 定義為整數n的所有正因子之和,記為 n 定義2 因子個數函式 定義為正整數n的所有正因子個數,記為 n 定理1 設p是乙個素數,a是乙個正整數,那麼 n 1 p p 2 p a p a 1 1 p 1 n a 1 定理2 ...