Вот пример кода, который генерирует все возможные 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, как в моем текущем решении)?