所有可能的k列n行乘积组合
All possible product combinations with k columns and n rows for each
我有几列数据,具有相同的行数,我想组合并获得它们之间所有可能的乘积组合。例如,如果a有4列a,B,C, D (n行),我想再增加11列,列积如下:
A*B
A*C
A*D
B*C
B*D
C*D
A*B*C
A*B*D
A*C*D
B*C*D
A*B*C*D
我写了一个VBA和一个c++程序来获得所有的2x2乘积组合,但我被困在那里。
假设您的初始列少于32列,您可以这样做:
void print_new_combinations(const std::vector<std::string>& v)
{
assert(v.size() < 32);// else you have to use bigger type.
for (std::uint32_t i = 0; i < (1 << v.size()); ++i) {
if ((i & (i - 1)) != 0) { // filter empty set or unique set
print_combination(v, i);
}
}
}
void print_combination(const std::vector<std::string>& v, std::uint32_t mask)
{
for (std::uint32_t i = 0; i != v.size(); ++i) {
if ((mask & (1 << i)) != 0) {
std::cout << " " << v[i];
}
}
std::cout << std::endl;
}
现场演示
相关文章:
- 有可能在Armadillo中复制MATLAB circshift方法吗
- 构建可组合有向图(扫描仪生成器的汤普森构造算法)
- 在他自己的方法中,有可能将一个对象取消引用到另一个对象吗
- 有可能使shared_ptr协变吗
- 有可能在信号处理程序中设置promise吗
- 是否有可能实现O(N)时间和O(1)空间解决方案,以实现C++中的字符串循环移位
- 是否有可能构建面向Linux和Windows的.Net Core C++ / CLI应用程序?
- 是否有可能使用debug_info获取ELF文件的源代码?
- C++,是否有可能/如何定义在.h和.cpp源文件中调用函数的类构造函数
- 有可能在C++中有类的查找表吗
- 是否有可能让 c++ dll 在后台运行 python 程序并让它填充向量图?如果是这样,如何?
- 向量的大小是否有可能为 1 但其中的元素数量为零?
- 是否有可能编写新的叮当声现代化规则?
- 是否有可能通过指向另一个未关联的子对象的指针来获取指向一个子对象的指针?
- 是否有可能通过演绎指南实现整个 std::make_tuple 功能?
- 是否有可能在没有复制的情况下传递 std::vector<int> 作为参数来获得 std::vector<std::array<int, 3>>?
- 如果我们从每个 Y 向量中选择一个值,则 X 数字的每个组合都可能
- 是否有可能具有放入容器的移动操作的类型?
- 是否有可能通过溢出 C 中的第一个元素来写入数组第二个元素
- 是否有可能组合对称的代码片段