Главная / Основы программирования - обучения основам / Оценить сверху время работы (т.е. количество выполнений тела цикла) алгоритма Евклида вычисления НОД двух целых чисел: дано: целые числа m, n, хотя бы одно отлично от нуля надо: вычислить наибольший общий делитель пары (m, n) цел a, b, r; a := m; b := n;

Оценить сверху время работы (т.е. количество выполнений тела цикла) алгоритма Евклида вычисления НОД двух целых чисел: дано: целые числа 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·log2 max(m, n), где C — некоторая константа (т.е. время пропорционально количеству цифр в двоичной или десятичной записи максимального из чисел m, n).
Время работы не больше, чем C·r, где C — некоторая константа, r — квадратный корень из max(m, n) (т.е. время пропорционально квадратному корню из максимального числа).
Время работы не больше, чем C·max(m, n), где C — некоторая константа (т.е. время пропорционально максимальному из чисел m, n).
Сложность вопроса
74
Сложность курса: Основы программирования - обучения основам
50
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
Экзамен сдан на отлично. лол
01 сен 2016
Аноним
Зачёт прошёл. Лечу отмечать отмечать халяву с тестами интуит
12 мар 2016
Оставить комментарий
Другие ответы на вопросы из темы программирование интуит.