|
|
|||||||||||||||||||||
Самый быстрый алгоритм Евклида вычисления НОД13.10.2011, 18:41. Показов 107369. Ответов 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,981
|
|
| 06.03.2015, 11:44 | |
|
evgr, очень хорошее предложение!
И вообще, друзья, старайтесь поменьше эмоций проявлять, и с оценками собеседников поаккуратнее...
1
|
|
| 06.03.2015, 12:44 | |
|
Не по теме: А по поводу оптимизации рекурсии почитать можно что-нибудь? Авторы, названия книг интересуют
0
|
|
| 21.04.2016, 23:50 | ||||||
0
|
||||||
|
Вездепух
13212 / 6845 / 1825
Регистрация: 18.10.2014
Сообщений: 17,327
|
||
| 22.04.2016, 03:28 | ||
|
Во-вторых, такой вариант построен на предположении, что цепочка xor является наиболее эффективным способом обмена двух целочисленных переменных, что также не верно.
0
|
||
| 22.04.2016, 12:50 | ||||||
|
Программка медленнее, но зато алгоритм другой. Все зависит от кол-ва простых чисел в векторе.
0
|
||||||
|
Модератор
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,981
|
|
| 22.04.2016, 15:17 | |
|
0
|
|
|
Вездепух
13212 / 6845 / 1825
Регистрация: 18.10.2014
Сообщений: 17,327
|
||
| 22.04.2016, 20:42 | ||
UINT_MAX?
0
|
||
| 22.04.2016, 21:00 | |
|
TheCalligrapher, главное - продемонстрировать другой подход к решению задачи!
код писался ради идеи, а не для рабочего пользования. а простые числа можно, например, запихнуть в файл. Своеобразная бд простых чисел получится.
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
||||
| 22.04.2016, 22:01 | ||||
|
0
|
||||
|
0 / 0 / 0
Регистрация: 29.09.2016
Сообщений: 8
|
||||||
| 08.12.2016, 19:18 | ||||||
0
|
||||||
| 08.12.2016, 19:18 | |
|
Алгоритм Евклида вычисления НОД - проверить корректность вычислений Построить алгоритм Маркова, который ищет НОД (Алгоритм Евклида) НОД . Рекурсивный алгоритм Евклида Алгоритм Евклида для нахождения НОД НОД двух чисел алгоритм Евклида Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|