自然數積分解

2022-02-26 14:42:00 字數 669 閱讀 6971

【題目描述】

現需要把自然數n分解為若干個自然數之積,輸出方案數。

【輸入描述】

輸入乙個自然數n(1 ≤ n ≤ 2000000000)。

【輸出描述】

輸出乙個數,表示方案數。

【樣例輸入】

20【樣例輸出】

4【資料範圍及提示】

樣例可分為:

204*5

2*10

2*2*5

優化前:

源**:

#include

int n,ans(0

);void solve(int t,int num) //

做題還是少啊!

for (int a=t;a<=num;a++) //

因數呈上公升趨勢,避免了重複。

if (!(num%a)&&a!=1) //

1的情況直接排除掉,避免無限遞迴。

solve(a,num/a);

}int

main()

優化後:

源**:

#include

int n,ans=1

;void solve(int t,int

num)

}int

main()

自然數積分解

題目描述 把自然數 分解為若干個自然數之積,輸出方案數。輸入描述 自然數n 1 n 2000000000 輸出描述 方案數。樣例輸入 20 樣例輸出 4 資料範圍及提示 20 可分為 204 52 10 2 2 5 優化前 源 include int n,ans 0 void solve int t...

2548 自然數積分解

題目描述 description 把自然數 分解為若干個自然數之積,輸出方案數。輸入描述 input description 自然數n,1 n 2000000000 輸出描述 output description 方案數樣例輸入 sample input 20 樣例輸出 sample output ...

2548 自然數積分解

時間限制 1 s 空間限制 32000 kb 題目等級 gold 題解把自然數 分解為若干個自然數之積,輸出方案數。輸入描述 input description 自然數n,1 n 2000000000 輸出描述 output description 方案數樣例輸入 sample input 樣例輸出...