переменная, вложенная в циклы

Я пытаюсь понять, как можно использовать рекурсию для создания n-уровневых вложенных циклов for. Например, если n = 3, будет 3 «уровня»

for(z=0;z<6;z++){
   for(y=0;y<6;y++){
      for(x=0;x<6;x++){
         if (z+y+x==f){
            //do something
         } 
      }
   }
}

и так далее.

Кажется, я не могу понять, как я могу поместить цикл if в последний цикл for и как я могу получить доступ к переменным предыдущих циклов for из оператора if. Я знаю, что вопрос о переменных вложенных циклах задавался много раз, и я просмотрел их все. Но, похоже, никто мне не помогает.

Может ли кто-нибудь представить простой способ использования рекурсии для достижения этой цели, имея в виду, что я все еще новичок в C ++, чтобы указать мне правильное направление?

Пример использования следующий:

Напишите программу для ввода количества кубиков m. Программа выведет общее количество возможных случаев, количество возможных вариантов для каждого возможного n и n с наибольшей вероятностью. Примечание: считывается только один вход m. N вычисляется программой

Пример, если пользователь вводит m = 2, программа должна вывести

Общее количество возможных случаев - 36.
Возможные варианты
2 1
3 2
4 3
.
.
.
12 1

5
задан Lightness Races with Monica 4 March 2012 в 15:17
поделиться