Greatest Common Divisor, Recursive code

13 vues (au cours des 30 derniers jours)
Kitt Naughton
Kitt Naughton le 22 Fév 2020
Commenté : Jalaj Gambhir le 25 Fév 2020
Hello,
This code uses recursion to find the GCD of two numbers that are inputed. The code works but for some reason GCD is being assigned to 0 at the end. The test case I am using sets greatestCommonDivisor(10007,500).
Any help is greatly appreciated
The code is as follows:
function GCD = greatestCommonDivisor(a, b)
if(a > b)
temp1 = a;
temp2 = b;
else
temp1 = b;
temp2 = a;
end
if temp1 == 0
GCD = temp2;
return
elseif temp2 == 0
GCD = temp1;
return
else
r = rem(temp1, temp2);
end
if(r == 0)
disp(temp2)
if(temp2 == 1)
GCD = 1;
disp(GCD)
return
else
GCD = temp2;
return
end
else
greatestCommonDivisor(temp2, r);
end
end
  1 commentaire
Jalaj Gambhir
Jalaj Gambhir le 25 Fév 2020
Hi,
I do not see where GCD is assigned to 0, can you provide more clarifications/ output screenshot or something? Works fine for me, with GCD = 1 at the end.

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by