#0
by megabax
Добрый день. Подскажите, пожалуйста, решение вот такой задачи. Даны два числа, m и n. Надой найти их наибольший общий делитель. Ищется он по алгоритму Евклида: 1. Делим m на n, получаем остаток r. 2. Если r=0 то n - искомое значение и мы прекращаем алгоритм. 3. Присваиваем m=n, n=r. 4. Переход к шагу 1. Нужно определить среднее число итераций, если известно m и n. Подскажите, пожалуйста, решение с доказательствами?
#4
by jsmith82
Время работы алгоритма оценивается теоремой Ламе, которая устанавливает удивительную связь алгоритма Евклида и последовательности Фибоначчи: Если a > b >= 1 и b < F(n) для некоторого n, то алгоритм Евклида выполнит не более n-2 рекурсивных вызовов
#6
by jsmith82
Тот факт, что число шагов, затрачиваемых алгоритмом Евклида, растет логарифмически, связан с числами Фибоначчи: Теорема (Ламэ, 1845 г.). Пусть n О N , и пусть a > b > 0 такие, что алгоритму Евклида для обработки а и b необходимо выполнить точно n шагов (делений с остатком), причем а - наименьшее с таким свойством. Тогда а = F n +2 , b = F n +1 , где F k - k- ое число Фибоначчи. Доказательство можно посмотреть, например, здесь: С помощью этой теоремы можно оценить порядок роста алгоритма Евклида. Пусть a будет меньшим из двух аргументов процедуры. Если процесс завершается за k шагов, тогда должно выполняться a>=Fib(k), т.е. приблизительно равно f^5/sqrt - золотое сечение. Следовательно, число шагов k растет как логарифм a(по основанию f)!
Тэги: Математика и алгоритмы
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- УНФ Цены контрагентов
- Где взять производственный календарь?
- УТ 11 автоматическая сборка товара
- Не списывается стоимость. УПП
- Выгрузка справочников и документов из Бухгалтерии 3.0 в Бухгалтерию 2.0
- Радченко Диаграмма Ганта. Не выводится премия на диаграмме.
- Очистить сохраненные настройки отбора формы списка
- Недоступно поле в табличной части. УФ.
- Расширения конфы 8.3.6
- Хранит ли 1с посчитанные виртуальные таблицы?
- Ввод остатков по эквайрингу при УСН Бухгалтерия 3.0
- Количество рабочих дней в УТ 11?
- Конфликт блокировок при выполнении транзакции:
- ЗУП с головной организацией
- V8: Отчет с СКД + тонкий клиент упр. приложения. Ошибка передачи расшифровки.
- Сообщение при открытии файла EXCEL "Имя не может совпадать... _FilterDatabase
- Активация сервера 1с
- Дубли в регистре сведений.
- Создание пользователя в подчиненном узле РИБ. УТ11.
- хитрая выборка для табеля учёта рабочего времени