【題目描述】
現需要把自然數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 樣例輸出...