傳送門
題意:給定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...