Рекурсия для х

Я пытался выяснить, как сделать это в течение довольно продолжительного времени, и это не работает, как задумано; Я пишу код, где есть числа от 1 до k, мне нужно найти все возможные комбинации без повторов. например за 3: 1, 2, 3, 12, 13.

Пример для подсчета четырехзначных чисел с 1, 2, 3, 4, 5.

int k = 5;
for (int p = 0; p < k; p++)
{
    for (int i = p+1; i < k; i++)
    {
        for (int j = i + 1; j < k; j++)
        {
            for (int h = j + 1; h < k; h++)
            {
                cout << p + 1 << i + 1 << j + 1 << h + 1 << endl;
            }
        }
    }
}

И есть пример для 3-х значного числа с 1, 2, 3.

int k = 4
for (int p = 0; p < k; p++)
{
    for (int i = p+1; i < k; i++)
    {
        for (int j = i + 1; j < k; j++)
        {
            cout << p + 1 << i + 1 << j + 1 << endl;
        }
    }
}

Я думаю, что для подсчета n-цифр возможной позиции без повторения мне нужно n для. И я не знаю, как сделать это без рекурсии, которая не работает, когда я это делаю. Моя цель - получить рекурсию, которая будет подсчитывать и печатать возможные позиции для n-цифр.

Ответы на вопрос(4)

Ваш ответ на вопрос