|
|
|||||||||||||||||||||
Самый быстрый алгоритм Евклида вычисления НОД13.10.2011, 18:41. Показов 107307. Ответов 44
Метки нет (Все метки)
Заинтересовал вопрос о различных реализациях алгоритма Евклида для неотрицательных целых чисел. Ниже привожу алгоритмы, собственноручно написанные, исходя из теоретического материала. Каждый алгоритм можно модифицировать в ту или иную сторону.
Считается, что бинарный алгоритм работает быстрее, но мои тесты показывают, что два первых алгоритма работают быстрее бинарного. Может ли кто перепроверить на скорость на своих компиляторах, а то очень интересно и не видится никаких преимуществ бинарного алгоритма.
20
|
|||||||||||||||||||||
| 13.10.2011, 18:41 | |
|
Ответы с готовыми решениями:
44
|
|
117 / 33 / 14
Регистрация: 13.02.2015
Сообщений: 795
|
||||||
| 05.03.2015, 06:20 | ||||||
|
GREGOR_812, для этого в библиотеке time.h есть функции
0
|
||||||
|
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
|
|
| 05.03.2015, 10:39 | |
|
0
|
|
|
117 / 33 / 14
Регистрация: 13.02.2015
Сообщений: 795
|
||
| 05.03.2015, 10:47 | ||
|
0
|
||
|
28 / 28 / 5
Регистрация: 23.04.2014
Сообщений: 130
|
|
| 05.03.2015, 16:20 | |
|
evgr,
Не по теме: ко мне можно на ты Спасибо, попробую сегодня вечерком протестить на разных числах
0
|
|
|
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
|
|||
| 05.03.2015, 18:14 | |||
|
0
|
|||
|
117 / 33 / 14
Регистрация: 13.02.2015
Сообщений: 795
|
|
| 06.03.2015, 08:45 | |
|
castorsky, а ещё было бы неплохо понимать, что вы пишите. А пишите вы, судя по всему, как Бог на душу положит. "Ааа, зачем мне вообще нужна оптимизация? Компилятор же всё сам за меня сделает!" - думаете вы. А потом, что дизассемблируете ваш экзешник и смотрите, действительно ли компилятор всё оптимизировал? Даже если так, оно вам надо? Не проще сразу писать нормальный код, чем приобретать себе лишнюю головную боль?
0
|
|
|
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
|
||||
| 06.03.2015, 10:36 | ||||
|
реализуйте на своё усмотрение, или как рекурсию, или как частный случай рекурсии - итерацию. Как Вам будет угодно.
0
|
||||
|
117 / 33 / 14
Регистрация: 13.02.2015
Сообщений: 795
|
||
| 06.03.2015, 11:09 | ||
![]() Давайте-ка свернём эту дискуссию, если вы не против?
0
|
||
|
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
|
||
| 06.03.2015, 11:25 | ||
|
Не по теме: Простейшие основы матана для Вас оленьпиада? Тут надо курить матчасть. Я указал Вам на ошибку, как человек рациональный Вы долны поразмыслить на сказанным. Добавлено через 1 минуту evgr, под "реализуйте на своё усмотрение" я понимаю не "реализуйте" а "можете реализовать как Вам вздумается", т.е. это не попытка взять на слабо, а просто пример.
0
|
||
|
Модератор
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,980
|
|
| 06.03.2015, 11:44 | |
|
evgr, очень хорошее предложение!
И вообще, друзья, старайтесь поменьше эмоций проявлять, и с оценками собеседников поаккуратнее...
1
|
|
| 06.03.2015, 12:44 | |
|
Не по теме: А по поводу оптимизации рекурсии почитать можно что-нибудь? Авторы, названия книг интересуют
0
|
|
| 21.04.2016, 23:50 | ||||||
0
|
||||||
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,312
|
||
| 22.04.2016, 03:28 | ||
|
Во-вторых, такой вариант построен на предположении, что цепочка xor является наиболее эффективным способом обмена двух целочисленных переменных, что также не верно.
0
|
||
| 22.04.2016, 12:50 | ||||||
|
Программка медленнее, но зато алгоритм другой. Все зависит от кол-ва простых чисел в векторе.
0
|
||||||
|
Модератор
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,980
|
|
| 22.04.2016, 15:17 | |
|
0
|
|
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,312
|
||
| 22.04.2016, 20:42 | ||
UINT_MAX?
0
|
||
| 22.04.2016, 21:00 | |
|
TheCalligrapher, главное - продемонстрировать другой подход к решению задачи!
код писался ради идеи, а не для рабочего пользования. а простые числа можно, например, запихнуть в файл. Своеобразная бд простых чисел получится.
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
||||
| 22.04.2016, 22:01 | ||||
|
0
|
||||
|
0 / 0 / 0
Регистрация: 29.09.2016
Сообщений: 8
|
||||||
| 08.12.2016, 19:18 | ||||||
0
|
||||||
| 08.12.2016, 19:18 | |
|
Алгоритм Евклида вычисления НОД - проверить корректность вычислений Построить алгоритм Маркова, который ищет НОД (Алгоритм Евклида) НОД . Рекурсивный алгоритм Евклида Алгоритм Евклида для нахождения НОД НОД двух чисел алгоритм Евклида Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|