分解自然數 題解

2022-05-26 18:42:13 字數 1275 閱讀 2449

t1:

【題目描述】

輸入自然數 n(n<100),輸出所有和的形式。不能重複。如:4=1+1+2;4=1+2+1;4=2+1+1 屬於一種分解形式。

【樣例輸入】

【樣例輸出】

1:7=1+6

2:7=1+1+5

3:7=1+1+1+4

4:7=1+1+1+1+3

5:7=1+1+1+1+1+2

6:7=1+1+1+1+1+1+1

7:7=1+1+1+2+2

8:7=1+1+2+3

9:7=1+2+4

10:7=1+2+2+2

11:7=1+3+3

12:7=2+5

13:7=2+2+3

14:7=3+4

t2:【題目描述】

輸入自然數 n 和 m(n,m<100),輸出所有分解,分解後的每一項都不大於 m 的。不能重複。如:4=1+1+2;4=1+2+1;4=2+1+1 屬於一種分解形式。

【樣例輸入】

7 4【樣例輸出】

1:7=1+1+1+4

2:7=1+1+1+1+3

3:7=1+1+1+1+1+2

4:7=1+1+1+1+1+1+1

5:7=1+1+1+2+2

6:7=1+1+2+3

7:7=1+2+4

8:7=1+2+2+2

9:7=1+3+3

10:7=2+2+3

11:7=3+4

t3:【題目描述】

輸入自然數 n 和 m(n,m<100),輸出所有分解項數不超過 m 的所有形式。不能重複。如:4=1+1+2;4=1+2+1;4=2+1+1 屬於一種分解形式。

【樣例輸入】

7  4

【樣例輸出】

1:7=1+6

2:7=1+1+5

3:7=1+1+1+4

4:7=1+1+2+3

5:7=1+2+4

6:7=1+2+2+2

7:7=1+3+3

8:7=2+5

9:7=2+2+3

10:7=3+4

********************===題解***************====

遞迴函式中傳入兩個引數x,y,分別是當前n的值與項數,函式體內迴圈1~x/2,當最大的加數小於n時,在答案陣列的第y個元素中存當前迴圈的值,y+1中存n-i,這樣每遞迴一次就是一種情況,只要在調函式前輸出即可,之後再傳入當前n值減去i作為遞迴到下一層的n值,若對最大加數與項數有限制則需要在存的時候判斷一下。

自然數積分解

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

自然數積分解

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

2548 自然數積分解

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