Я пытаюсь понять, как можно использовать рекурсию для создания 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