POJ 分解因數 遞迴練習 列舉

2021-08-17 11:47:20 字數 800 閱讀 9197

描述

給出乙個正整數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

*************************

按道理講,這道題應該是一道比較簡單的題目,但是自己做了半天也沒做出來,關鍵是不知道什麼情況下方案數才++;(是最後除到只剩1,還是。。。)最終還是看了題解,就積累一下吧,同時感覺自己對遞迴理解的確實還很不到位。

ac**:

#include#include#includeusing namespace std;

int sum;

void f(int x,int y) }}

int main()

{ int t;

cin>>t;

while(t--)

{

sum=1;

int x;

cin>>x;

f(2,x);

cout

分解因數 遞迴

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

分解因數 遞迴

給出乙個正整數 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行,包括乙...