gpt4 book ai didi

c++ - C++ 中没有嵌套循环的 2 组合,其中迭代次数等于 2 组合的数量

转载 作者:搜寻专家 更新时间:2023-10-31 01:27:48 26 4
gpt4 key购买 nike

这是一个代码示例,它生成所有可能的 2 组合而不重复:

int datanum = 4;
for (int arg = 0; arg < datanum*datanum; arg++)
{
int j = arg % datanum;
int i = arg / datanum;

if (i < j)
{
std::cout << "i=" << i << " j=" << j << std::endl;
}
}

输出:

i=0 j=1
i=0 j=2
i=0 j=3
i=1 j=2
i=1 j=3
i=2 j=3

我的问题是:如何通过仅使用一个循环生成不重复的 2 组合,其中迭代次数应等于 2 组合的数量(在 N=4 的情况下,它应该是 6 而不是 4* 4=16 就像我当前的解决方案一样)?

最佳答案

这个怎么样:

int datanum = 4;
int i = 0;
int j = 1;
while (i < datanum-1) {
{
std::cout << "i=" << i << " j=" << j << std::endl;
j++
if (j == datanum) {
i++;
j = i + 1;
}
}

关于c++ - C++ 中没有嵌套循环的 2 组合,其中迭代次数等于 2 组合的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52760532/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com