Задача «Наибольший общий делитель»

Для двух целых чисел a и b реализовать функцию, вычисляющую наибольший общий делитель НОД(a,b) по модифицированному алгоритму Евклида:

  • НОД(a,b) = НОД(a mod b, b) при a≥b.
  • НОД(a,b) = НОД(a, b mod a) при b≥a.
  • НОД(a,0) = a
int greatest_common_divisor(int a, int b) {
   /* ... */
}