Рекурсия: Объясните как работает функция получения НОДа - C#

Формулировка задачи:

static  int NOD(int a, int b)
        {
 
           if (b == 0)
            {
                return a;
            }
            else
            {
                return NOD(b, a % b);
            }
        }
Объясните как работает ретурн второй,он же одно что то должен возвращаить

Код к задаче: «Рекурсия: Объясните как работает функция получения НОДа - C#»

textual
static  int NOD1(int a, int b)
        {
 
           if (b == 0)
            {
                return a;
            }
            else
            {
                return NOD2(b, a % b);
            }
        }
 
static  int NOD2(int a, int b)
        {
 
           if (b == 0)
            {
                return a;
            }
            else
            {
                return NOD3(b, a % b);
            }
        }
 
и так далее

7   голосов, оценка 3.857 из 5


СОХРАНИТЬ ССЫЛКУ