Оценить сверху время работы (т.е. количествовыполнений тела цикла) алгоритма Евклидавычисления НОД двух целых чисел:дано: целые числа m, n, хотя бы одно отлично от нулянадо: вычислить наибольший общий делитель пары (m, n)цел a, b, r;a := m; b := n;цикл пока b != 0| инвариант: НОД(a, b) == НОД(m, n)| r := a % b; // находим остаток от деления a на b| a := b; b := r; // заменяем пару (a, b) на (b, r)конец циклаответ := a;
(Отметьте один правильный вариант ответа.)
Варианты ответа
Время работы не больше, чем C·max(m, n), где C — некоторая константа (т.е. время пропорционально максимальному из чисел m, n).
Время работы не больше, чем C·log2 max(m, n), где C — некоторая константа (т.е. время пропорционально количеству цифр в двоичной или десятичной записи максимального из чисел m, n). (Верный ответ)
Время работы не больше, чем C·r, где C — некоторая константа, r — квадратный корень из max(m, n) (т.е. время пропорционально квадратному корню из максимального числа).