|
0 / 0 / 1
Регистрация: 03.11.2010
Сообщений: 29
|
|
Способы решения тривиальных/не тривиальных задач13.11.2010, 01:58. Показов 3186. Ответов 20
Метки нет (Все метки)
Други! В этой теме я предлагаю выкладывать свои способы решения тривиальных/не тривиальных задач и стремиться к элегантности их решения, то бишь к совершенству кода. Это будет способствовать повышению профессионализма и навыков кодерства. Оптимизация должна быть интересной
0
|
|
| 13.11.2010, 01:58 | |
|
Ответы с готовыми решениями:
20
Написать программы для решения задач Составить программу для решения задач Программа для решения транспортных задач |
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 13.11.2010, 01:59 | |
|
Glacius, Оптимизация не всегда есть элегантность и совершенство. Ненужная оптимизация - зло
0
|
|
|
0 / 0 / 1
Регистрация: 03.11.2010
Сообщений: 29
|
|
| 13.11.2010, 02:01 | |
|
Таки давайте стремиться к предельному
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 13.11.2010, 02:19 | ||||||
|
Glacius, К предельному идиотизму? Ну начинайте, может кто-то и подтянеться.
Оптимизируйте swap двух чисел без использования третьей. Задача n-ое кол-во раз была на форуме, но с чего-то ведь надо начинать.
0
|
||||||
|
0 / 0 / 1
Регистрация: 03.11.2010
Сообщений: 29
|
||||||
| 13.11.2010, 02:34 | ||||||
|
Вы не использовали 3-ю переменную.
Но задачу можно решить используя оператор "XOR", т.е. "^=":
0
|
||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 13.11.2010, 02:42 | ||||||
|
Glacius, Верно. А можно и
0
|
||||||
|
0 / 0 / 1
Регистрация: 03.11.2010
Сообщений: 29
|
|
| 13.11.2010, 02:52 | |
|
Это один из вариантов. Но тема не столько для оптимизаций, сколько для мыслей и рассуждений.
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 13.11.2010, 02:53 | |
|
Glacius, Намного ли быстрее работает XOR чем сложение и вычитание на современных компьютерах?
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 13.11.2010, 04:41 | |
|
ForEveR, ещё можно вспомнить недавнюю тему про реверс строки - там же уже это обсуждалось - даже ассемблерный код приводился...
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 13.11.2010, 10:44 | |
|
silent_1991, Да, я помню. Ненамного быстрее все же, насколько я понимаю.
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 13.11.2010, 10:47 | |
|
Да там вроде сошлись во мнении, что практически всегда по скорости обе реализации один в один совпадают.
0
|
|
|
0 / 0 / 1
Регистрация: 03.11.2010
Сообщений: 29
|
|
| 13.11.2010, 11:07 | |
|
Имеете ввиду что тема исчерпала себя до своего создания?
0
|
|
|
481 / 119 / 17
Регистрация: 30.09.2010
Сообщений: 473
|
||
| 13.11.2010, 11:42 | ||
|
0
|
||
|
|
||
| 13.11.2010, 11:43 | ||
|
Если бы на ассемблере писал человек, то можно было бы несколко тактов выиграть( в случае с XOR), просто компилятор гененрирует более общий вариант поставленной задачи, а человек будет подходить к этому как к частному случаю.
0
|
||
|
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
||
| 13.11.2010, 14:53 | ||
|
А по скорости в сравнении с кодом Glacius - выигрыша нет. Зато код Glacius не обладает UB.
0
|
||
|
0 / 0 / 1
Регистрация: 03.11.2010
Сообщений: 29
|
|
| 13.11.2010, 14:56 | |
|
0
|
|
|
|
|||
| 13.11.2010, 15:02 | |||
|
Добавлено через 1 минуту
0
|
|||
|
79 / 78 / 6
Регистрация: 04.11.2010
Сообщений: 249
|
|
| 13.11.2010, 16:09 | |
|
Где там UB? Я не понимаю.
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 13.11.2010, 23:49 | |
|
Да, и правда. Плохой пример я кинул.
0
|
|
| 13.11.2010, 23:49 | |
|
Помогаю со студенческими работами здесь
20
Сайты для решения задач по программированию
Метод пристрелки - способы решения Способы решения интеграла Дирихле Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|