Euclide's Algorithm to Calculate GCD

  • Thread starter Thread starter lcam2
  • Start date Start date
  • Tags Tags
    Algorithm Gcd
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
1 reply · 2K views
lcam2
Messages
28
Reaction score
0

Homework Statement


Using Euclid's algorithm write a program with a function that determines and returns the GCD of two integer arguments.

This is what i wrote, when i print the remainder is zero, How can i get the last remaninder before the zero value? :confused:

Thanks

Homework Equations





The Attempt at a Solution



[

#include <iostream>

using namespace std;
void remainder ( int, int); //Function Prototype

int main ()
{
int a, b;

count << "This Program calculates the GCD of two integers \n"
<< "Please enter two integers" << endl;
cin >> a >> b;

remainder (a, b); //Calling the Function


return 0;

}

void remainder ( int a, int b) //Remainder function
{
int x, remainder;
remainder = 0;

int r;
if (a > b)
{r = b;
r %= b;
}
else
{r = a;
r %= b;
}

count << r << endl;
}
]
 
Physics news on Phys.org
You need to repeat the process until the remainder is zero and then output the other variable. For example, something like the following code should output gcd(a,b) correctly.

Code:
int r;

if (a > b)
  { r = a;
    a = b;
    b = r
  }while (a !=0)
  { r = a;
    a = b % a;
    b = r
  }

cout << b << endl;