遞迴入門 組合的輸出

2021-10-22 22:25:59 字數 874 閱讀 6826

[命題人 : 外部匯入]

時間限制 : 1.000 sec  記憶體限制 : 128 mb

解決: 1303

提交: 2294統計

題目描述

排列與組合是常用的數學方法,其中組合就是從n個元素中抽出r個元素(不分順序且r < = n),我們可以簡單地將n個元素理解為自然數1,2,…,n,從中任取r個數。

現要求你不用遞迴的方法輸出所有組合。

例如n = 5 ,r = 3 ,所有組合為:

1 2 3

1 2 4

1 2 5

1 3 4

1 3 5

1 4 5

2 3 4

2 3 5

2 4 5

3 4 5 

輸入一行兩個自然數n、r ( 1 < n < 21,1 < = r < = n )。

輸出所有的組合,每乙個組合佔一行且其中的元素按由小到大的順序排列,所有的組合也按字典順序。提交

每次進入遞迴,遍歷比a[index-1]大的數,index為遞迴層數。

ac**:

#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;

int n,r;

int flag[30]= ;

int ans[30];

void dg(int index)

for(int i=ans[index-1]+1; i<=n; i++)

}}int main()

遞迴入門 組合的輸出

時間限制 1 sec 記憶體限制 128 mb 排列與組合是常用的數學方法,其中組合就是從n個元素中抽出r個元素 不分順序且r n 我們可以簡單地將n個元素理解為自然數1,2,n,從中任取r個數。現要求你用遞迴的方法輸出所有組合。例如n 5 r 3 所有組合為 1 2 3 1 2 4 1 2 5 1...

遞迴入門 組合的輸出

時間限制 1 sec 記憶體限制 128 mb 提交 132 解決 74 題目描述 排列與組合是常用的數學方法,其中組合就是從n個元素中抽出r個元素 不分順序且r n 我們可以簡單地將n個元素理解為自然數1,2,n,從中任取r個數。現要求你不用遞迴的方法輸出所有組合。例如n 5 r 3 所有組合為 ...

遞迴入門 組合的輸出

排列與組合是常用的數學方法,其中組合就是從n個元素中抽出r個元素 不分順序且r n 我們可以簡單地將n個元素理解為自然數1,2,n,從中任取r個數。現要求你不用遞迴的方法輸出所有組合。例如n 5 r 3 所有組合為 1 2 3 1 2 4 1 2 5 1 3 4 1 3 5 1 4 5 2 3 4 ...