How to return a value in a recursive function in MATLAB

8 vues (au cours des 30 derniers jours)
Arindam Bose
Arindam Bose le 25 Mar 2019
Commenté : Arindam Bose le 25 Mar 2019
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)

Réponse acceptée

Walter Roberson
Walter Roberson le 25 Mar 2019
function num = per(n, varargin)
and at the end, probably
num = per(res, num)
  1 commentaire
Arindam Bose
Arindam Bose le 25 Mar 2019
Wow, thanks a bunch. Works like a charm.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Data Type Conversion dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by