Рубрики

Алгоритмы | Разделяй и властвуй | вопрос 2

Рассмотрим следующую программу на C

int main() 

   int x, y, m, n; 

   scanf ("%d %d", &x, &y); 

   / * x> 0 и y> 0 * /

   m = x; n = y; 

   while (m != n) 

   

      if(m>n) 

         m = m - n; 

      else

         n = n - m; 

   

   printf("%d", n); 

}

Что вычисляет программа? (GATE CS 2004)
(A) х + у с использованием повторного вычитания
(B) x mod y с использованием повторного вычитания
(C) наибольший общий делитель х и у
(D) наименьшее общее кратное х и у

Ответ: (с)
Пояснение: Это реализация алгоритма Евклида, чтобы найти GCD

Рекомендуемые посты:

Алгоритмы | Разделяй и властвуй | вопрос 2

0.00 (0%) 0 votes