分解式的個數

2021-07-24 00:02:36 字數 644 閱讀 3900

大於1的正整數可以分解成一組因子的乘積,例如12可以分解成:12、6*2、4*3、3*4、3*2*2、2*6、2*3*2、2*2*3,共8個分解式。請設計演算法,計算指定的大於1的正整數的分解式的個數。

第一行為測試用例個數n,n≤100000。 從第二行開始,共有n行,每行為乙個大於1的正整數m,m≤10001。

對每個測試用例m,輸出其分解式的個數,每個輸出佔一行。

241228

#include#include#include#include#includeusing namespace std;

int dp[10005];

int main(){

int t;

while(~scanf("%d",&t)){

dp[2]=1;

int m;

m=2;

while(t--){

int n;

scanf("%d",&n);

if(m>=n)

printf("%d\n",dp[n]);

else{

int i,j;

for(m=m+1;m<=n;m++){

dp[m]=1;

//printf("%d %d\n",m,dp[m]);

for(j=2;j

列印整數的所有分解式

這個題目的要求是 將乙個大於1的整數寫成幾個整數乘積的形式,因為任意數和1相乘,其乘積不變,故要求分解後的數不能為1。題目要求所有的排列形式,所以12 3 4和12 4 3應該視為是兩個不同的分解式,都應當輸出。例如 對於整數n 36,其所有的分解式是 36 36 36 2 18 36 18 2 3...

乙個數的約數的個數 質因數分解

problem description 乙個數,如果他的素數因子只包括2,3,5,7,則稱這個數為萌數,比如,下面這些數就是前20個萌數 1,2,3,4,5,6,7,8,9,10,12,14,15,16,18,20,21,24,25,27。現在給你乙個萌數,請程式設計計算它的約數的個數。比如,4是乙...

將乙個數m分解成n個數之和的所有可能

週末的時候,師兄提了乙個小學生的題目,然後這個題目自我估計,反正我是做不出來的。然後師兄想用計算機的方法,寫個 看能不能把這個問題解答出來,於是就找了一下我這個菜雞一起討論 題目就不貼了,樓主感覺小學生過的好難啊 最後師兄表示他在乙個問題上卡住了,簡化之後問題是這樣的 有n個數,他們之和為m,這些組...