The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
x
+7 votes
1.2k views

Consider the following C program

main()
{ 
    int x, y, m, n;
    scanf("%d %d", &x, &y);
    /* Assume x>0 and y>0*/
    m = x; n = y;
    while(m != n)
        { 
            if (m > n)
                m = m-n;
            else
                n = n-m;
        }
    printf("%d", n);
}

The program computes

  1. $x+y$ using repeated subtraction

  2. $x \mod y$ using repeated subtraction

  3. the greatest common divisor of $x$ and $y$

  4. the least common multiple of $x$ and $y$

asked in Algorithms by Veteran (59.5k points) | 1.2k views

2 Answers

+9 votes
Best answer

It is an algorithm for $\gcd$ computation.

Here, while loop executes until $m=n$.
We can test by taking any two numbers as $m,n$.

Answer will be (C).

Ref: http://www.naturalnumbers.org/EuclidSubtract.html

answered by Veteran (91.6k points)
edited by
+1
+5 votes
c) euclidean algorithm
answered by Junior (909 points)


Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true

37,999 questions
45,495 answers
131,568 comments
48,630 users