/*
* euclid.c
* This program reads two integer numbers and
comuptes their greatest common
* divisor (GCD) using
*/
#include <stdio.h>
int main ()
{
int a;
int b;
int temp;
int r;
/* Read the two
numbers. */
printf ("Please enter two positive integers: ");
scanf ("%d %d", &a, &b);
/* Make sure that
the input is legal. */
if
(a <= 0 || b <= 0)
{
printf ("The two numbers should be positive!\n");
return
(1);
}
/* Make sure that
(a > b). */
if
(b > a)
{
temp = a;
a = b;
b = temp;
}
/* Perform
Compute r = (a mod b).
- If r == 0, then
b is the GCD and we are done.
- Otherwise, let a = b and b = r, and
proceed for another iteration. */
while
((r = a % b) != 0)
{
a = b;
b = r;
}
/* Print the GCD.
*/
printf ("The GCD is %d.\n", b);
return
(0);
}