Я пытаюсь написать код, в котором хранятся все выходы из рекурсии при определенном условии.выходы магазина во время рекурсии
Мой MATLAB код выглядит следующим образом:
function answer= rec_solve(M, remainingValue, previousLevel, solutionSoFar)
if (M == 1)
answer= [solutionSoFar remainingValue];
% store only the outputs that reach here
else
for i=previousLevel:remainingValue/M
s= [solutionSoFar i];
rec_solve(M-1, remainingValue-i, i, s);
end
end
end
Я пытался хранить в матрице только выходы, которые достигают условию (M == 1), но без успеха. Я думаю, что он должен быть поврежден в другой функции, но у меня нет понятия, как обернуть его правильным образом. Как будто я хочу сохранить результаты печати, если «;» снимается внутри условия (строка 3).
Спасибо вам заранее!
ну, ответ - результат функции, поэтому я не понимаю, почему вы не получите его в качестве результата? выполняете ли вы цикл над функцией или где именно проблема ее хранения? – KiW
Дело в том, что я хочу хранить только ответы от «Если» statemant. Есть много раз через рекурсию, которая достигает там, как я могу это сделать? Окончательный ответ - только 1 из N ответов, которые мне нужны. –
Можете ли вы дать нам образец ввода и желаемый выход для этой функции? – beaker