Это рекурсивная функция.Когда m> n , он вызывает эту функцию снова с параметром (mn, n) .Поэтому в худшем случае предположим, что когда m = 100 , n = 1 , тогда значение параметра на каждом шаге равно -
1. m = 100, n = 1
2. m = 99, n = 1 // because new m will be (m-n), and n remains same according to step 2 in your algorithm
3. m = 98, n = 1 // same as previous comment
4. m = 97, n = 1
.........
.........
.........
99. m = 2, n = 1
100. m = 1, n = 1
And then it executes steps 7 in your algorithm.
Итак, в целом ваш алгоритм 100 умноженное на максимальное значение между m и n.
А когда m
Таким образом, сложность этого алгоритма составляет O (max (m, n)) .