csw = cs(n-1,1:n-1)C++怎么实现这种操作
时间: 2024-02-06 19:09:10 浏览: 41
这段代码使用了组合数的概念,将从1到n-1的n-1个数中选取1个数的所有可能性计算出来,并存储在一个长度为n-1的数组csw中。
以下是C++的实现代码:
```C++
#include <iostream>
#include <vector>
using namespace std;
vector<vector<int>> cs(int n) {
vector<vector<int>> res(n, vector<int>(n, 0));
for (int i = 0; i < n; i++) {
res[i][0] = 1;
}
for (int i = 1; i < n; i++) {
for (int j = 1; j <= i; j++) {
res[i][j] = res[i - 1][j - 1] + res[i - 1][j];
}
}
return res;
}
int main() {
int n = 5;
vector<vector<int>> res = cs(n);
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
cout << res[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
在这个实现中,我们使用了二维向量来存储所有可能性。首先我们将第一列的所有元素初始化为1,因为从n个数中选取0个数的可能性只有一种,即不选任何数。然后我们使用组合数的递推公式,从第二列开始计算所有可能性,最终得到一个n行n列的向量,其中第i行第j列表示从i-1个数中选取j个数的所有可能性。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![dll](https://img-home.csdnimg.cn/images/20210720083646.png)