MATLAB Answers

How to return a value in a recursive function in MATLAB

16 views (last 30 days)
I have a recursive function to calculate the multiplicative persistence of an integer. I can print the value inside the function. My question is how can I return the value to the outside of the function.
Here is my code:
I want to return the value of num
function per(n, varargin)
if nargin == 1
num = 0;
else
num = varargin{1};
end
s = num2str(n);
if (length(s) == 1)
disp(['Persistence: ' num2str(num)]);
return;
end
num = num + 1;
res = 1;
for i = 1:length(s)
res = res * str2double(s(i));
end
per(res, num);
end
Something like num = per(n)

  0 Comments

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 25 Mar 2019
function num = per(n, varargin)
and at the end, probably
num = per(res, num)

More Answers (0)