分解因數 遞迴

2021-08-17 09:05:13 字數 781 閱讀 3057

描述給出乙個正整數a,要求分解成若干個正整數的乘積,即a = a1 * a2 * a3 * ... * an,並且1 < a1 <= a2 <= a3 <= ... <= an,問這樣的分解的種數有多少。注意到a = a也是一種分解。輸入第1行是測試資料的組數n,後面跟著n行輸入。每組測試資料佔1行,包括乙個正整數a (1 < a < 32768)輸出n行,每行輸出對應乙個輸入。輸出應是乙個正整數,指明滿足要求的分解的種數樣例輸入

2

220

樣例輸出

1 4

20 2*10 2*2*5 4*5 20 從1到n 尋找子問題 當分離出來乙個因數之後,剩下的數是乙個子問題

24 2*12(所有12的情況)12 2*6 3*4 2*2*3 3*8(所有8的情況)1*8 2*4 2*2*2 4*6(所有6的情況)6  2*3 24這種

我開始就沒把遞推關係式想清楚 遞推表達: 因式分解 f(20)=1+f(10)+f(5)         2     1 f(24)=1+f(12)+f(8)+f(6) f(12)=1+f(6)+f(4)//1+2+2 f(8)=1+f(4)//1+2 f(6)=1+f(3)//1+1

#include #include using namespace std;

int f(int n,int m)

}    

return ans;

}int main()

return 0;

}

分解因數 遞迴

給出乙個正整數 aaa,要求分解成若干個正整數的乘積,即 a a1 a2 a3 ana a 1 times a 2 times a 3 times times a na a1 a2 a3 an 並且 1輸入格式 第 111 行是測試資料的組數 n 1 n 10 n 1 le n le 10 n 1 ...

遞迴分解因數

題目 總時間限制 1000ms 記憶體限制 65536kb 描述給出乙個正整數a,要求分解成若干個正整數的乘積,即a a1 a2 a3 an,並且1 a1 a2 a3 an,問這樣的分解的種數有多少。注意到a a也是一種分解。輸入第1行是測試資料的組數n,後面跟著n行輸入。每組測試資料佔1行,包括乙...

百練 分解因數(遞迴)

總時間限制 1000ms 記憶體限制 65536kb 描述 給出乙個正整數a,要求分解成若干個正整數的乘積,即a a1 a2 a3 an,並且1 a1 a2 a3 an,問這樣的分解的種數有多少。注意到a a也是一種分解。輸入第1行是測試資料的組數n,後面跟著n行輸入。每組測試資料佔1行,包括乙個正...