CH3101 階乘質因數分解

2021-09-26 22:09:04 字數 757 閱讀 6879

題意

3101 階乘分解 0x30「數學知識」例題

描述給定整數 n(1≤n≤10^6),試把階乘 n! 分解質因數,按照算術基本定理的形式輸出分解結果中的 p_i 和 c_i 即可。

輸入格式

乙個整數n。

輸出格式

n! 分解質因數後的結果,共若干行,每行一對pi, ci,表示含有pi^ci項。按照pi從小到大的順序輸出。

樣例輸入

5樣例輸出

2 33 1

5 1樣例解釋

5! = 120 = 2^3 * 3 * 5

分析對1~n中每個質數統計即可。時間複雜度(o(\frac\log n))

質因數p的1,2,3,4,n次方的個數求和

**

#include

using namespace std;

const

int maxn=

1e6+10;

int prime[maxn]

;bool is_prime[maxn]

;int n,cnt;

void

prime()

for(

int i=

2;i*i<=n;i++)}

for(

int i=

2;i<=n;i++)}

}int

main()

cout << p <<

" "<< c<}return0;

}

CH 3101 階乘分解 質因數分解

題目鏈結 給定整數 n 1 n 106 10 6 106 試把階乘 n 分解質因數,按照算術基本定理的形式輸出分解結果中的 p ip i pi 和 c ic i ci 即可。任何乙個大於 1 的正整數都能唯一分解成有限個質數的乘積,可寫做 n p 1c1p 2c2.pm cm n p p p n p...

階乘質因數分解

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

質因數分解

題目16 將乙個正整數分解質因數。例如 輸入90,列印出90 2 3 3 5。程式分析 對n進行分解質因數,應先找到乙個最小的質數k,然後按下述步驟完 成 1 如果這個質數恰等於n,則說明分解質因數的過程已經結束,列印出即可。2 如果n k,但n能被k整除,則應列印出k的值,並用n除以k的商,作為新...