рекурсия функция обращается сама к себе функция вычисления чисел Фибоначи int f(int n){ if(n == 1 || n == 2) return 1; return f(n-1) + f(n-2); } любую рекурсию можно представить через циклы перебор подмножеств 1 2 3 пустое 1 2 3 1 2 1 3 2 3 1 2 3 различные перестановки объектов 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 задача перебор всех подмножеств 1 2 3 на каждом шаге рекурсии будем идти 2 путями: 1. берем очередной объект 2. не берем очередной объект n=3; vector a(n), ans(n); a={1,2,3} void f(int i){ if(i == n){ for(int j=0; j