В главната програма имаме две цели числа и викаме външна функция f. В тази функция правим няколко проверки. Ако втория параметър стане равен на 0, се извежда като резултат първия параметър. Ако ли не, проверява дали втория параметър е по-голям от първия, като резултат се извиква отново функцията, но с разменени параметри. Ако и там не влезе, се извиква отново функцията с разменени параметри, като новия втори параметър (сегашния първи) се дели по модул текущия втори параметър. Извикването на функцията е със следните параметри: f(18, 24) f(24, 18) f(18, 6) f(6, 0) result = 6 и това е резултата.