階乘質因數

2021-08-15 12:20:13 字數 447 閱讀 1159

思路:

給定兩個數m,n

求m!分解質因數後因子n的個數。

這道題涉及到了大數問題,如果相乘直接求的話會超出資料型別的範圍。

下面給出一種效率比較高的演算法,我們一步一步來。

m!=1*2*3*……*(m-2)*(m-1)*m

可以表示成所有和n倍數有關的乘積再乘以其他和n沒有關係的

=(n*2n*3n*......*kn)*ohter     other是不含n因子的數的乘積   因為 kn<=m 而k肯定是最大值  所以k=m/n

=n^k*(1*2*......*k)*other  

=n^k*k!*other     

從這個表示式中可以提取出k個n,然後按照相同的方法迴圈下去可以求出k!中因子n的個數。

每次求出n的個數的和就是m!中因子n的總個數。

階乘分解質因數

這樣分析的話,其實把階乘算出來再搞是必然超時的 對於每個質因子p,就相當於1n每個數包含的質因子p的和。在1nz中包含1個質因子的有n p個,p2則為n p2,以此類推 所以n 中質因子的個數 n p n p2 n p3.include include include include include...

階乘質因數分解

時間限制 3000 ms 記憶體限制 65535 kb難度 2 描述 給定兩個數n,m,其中m是乙個素數。將n 0 n 2 31 的階乘分解質因數,求其中有多少個m。注 為求冪符號。輸入 第一行是乙個整數s 0 輸出輸出m的個數 樣例輸入 3 100 5 16 2 1000000000 13 樣例輸...

CH3101 階乘質因數分解

題意 3101 階乘分解 0x30 數學知識 例題 描述給定整數 n 1 n 10 6 試把階乘 n 分解質因數,按照算術基本定理的形式輸出分解結果中的 p i 和 c i 即可。輸入格式 乙個整數n。輸出格式 n 分解質因數後的結果,共若干行,每行一對pi,ci,表示含有pi ci項。按照pi從小...