分解質因數 試除法

2021-10-02 16:05:15 字數 872 閱讀 6512

傳送門

題意:給定n個正整數ai,將每個數分解質因數,並按照質因數從小到大的順序輸出每個質因數的底數和指數。

輸入格式

第一行包含整數n。

接下來n行,每行包含乙個正整數ai。

輸出格式

對於每個正整數ai,按照從小到大的順序輸出其分解質因數後,每個質因數的底數和指數,每個底數和指數佔一行。

每個正整數的質因數全部輸出完畢後,輸出乙個空行。

資料範圍

1≤n≤100,

1≤ai≤2∗109

輸入樣例:26

8輸出樣例:

2 13 1

2 3注:其實應該還可以優化一下,資料比較多的時候可以先把所有質數求出來再操作,可以參考這個題。

**實現:o(logn) ~o(sqrt(n))

#include

#include

using

namespace std;

int n, x;

void

divide

(int x)

printf

("%d %d\n"

, i, res);}

}if(x >1)

printf

("%d %d\n"

, x,1)

;puts(""

);}int

main()

return0;

}

AcWing 分解質因數 試除法分解

時 空限制 1s 64mb 給定n個正整數ai,將每個數分解質因數,並按照質因數從小到大的順序輸出每個質因數的底數和指數。第一行包含整數n。接下來n行,每行包含乙個正整數ai。對於每個正整數ai,按照從小到大的順序輸出其分解質因數後,每個質因數的底數和指數,每個底數和指數佔一行。每個正整數的質因數全...

試除法分解質因數(附模板題)

void divide int x if x 1 cout x 1 endl cout endl 給定n個正整數ai,將每個數分解質因數,並按照質因數從小到大的順序輸出每個質因數的底數和指數。第一行包含整數n。接下來n行,每行包含乙個正整數ai。對於每個正整數ai,按照從小到大的順序輸出其分解質因數...

分解質因數

質因數概念 每個合數都可以寫成幾個質數相乘的形式,這幾個質數就都叫做這個合數的質因數。如果乙個質數是某個數的因數,那麼就說這個質數是這個數的質因數。而這個因數一定是乙個質數。演算法原理 先根據需要分解的合數生成乙個質數表。然後依次從小到大依次除合數,每次除之後都將儲存步驟。表達不好,還是看 吧 us...