1 / 1 / 0
Регистрация: 04.04.2011
Сообщений: 12
|
|
1 | |
С++ программирование, цикл01.05.2011, 19:38. Показов 1481. Ответов 17
Метки нет (Все метки)
0
|
01.05.2011, 19:38 | |
Ответы с готовыми решениями:
17
Многопоточное программирование: как распараллелить цикл? Программирование циклических алгоритмов (цикл с параметром) Программирование циклических процедур. (Цикл While, Repeat) Программирование алгоритмов циклической структуры ( цикл с предусловием и постусловием ) |
Freelance
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
|
||||||
01.05.2011, 19:48 | 3 | |||||
0
|
Higher
|
||||||
01.05.2011, 20:29 | 4 | |||||
Хотя еще быстрее будет так
Есть небольшой вопросик... Ради интереса я прогнал код от asics и справнил его скорость со своим. И, собственно, я не недоумении. Теоретически моя программа должна выигрывать по скорости более чем в 100 раз, но на деле оказалось, что скорость программ практически равна. Почему?...
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
01.05.2011, 20:33 | 5 |
diagon, Потому что компы сейчас мощные и выполняют такие операции очень быстро. Откуда ж тут разнице то взяться? Всего-навсего цикл + проверка на совпадение условию..
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
01.05.2011, 20:38 | 7 |
diagon, Ну и на сколько разница? Чем проверяли? Да и какой смысл зацикливаться на оптимизации, которая в данном случае уж точно никому не нужна?
Знаете закон преждевременной оптимизации? Он звучит просто.
0
|
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
|
|
01.05.2011, 20:46 | 9 |
Это отдельный способ решения задач в олимпиадном программировании, причем очень полезный.
Только я не пойму, зачем вы привели это сюда. Зачем рекурсия ? (подобный вопрос).
0
|
Higher
|
|
01.05.2011, 20:49 | 10 |
Ну смотри, казалось бы, в первое случае одна итерация цикла выполняется меньше времени, во втором больше. В первом случае итераций происходит в 90 раз меньше, чем во втором. И тем не менее, скорость работы программ равна. Зачем нужно оптимизировать программу по времени, если нету эффекта?
Насчет рекурсии интересный вопрос, я могу сказать только, что это красивее, так как по скорости значительно проигрывает линейному перебору. Ну это есть не что иное, как динамическое программирование. Зачем выполнять проверку для каждого числа больше ста, если все эти числа-арифметическая последовательность?
0
|
01.05.2011, 20:49 | 11 |
diagon, тут еще вот какое дело - не факт, что компилятор скомпилировал код именно в таком виде, как он выглядет в С (компилятор мог оптимизировать код, по своему усмотрению, в т.ч. сделать ф-цию inline). Нужно посмотреть ассемблерный код, что бы понять в чем дело.
1
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
01.05.2011, 20:51 | 12 |
diagon, Олимпиадные задачи обычно не столь тривиальны и там действительно нужно динамическое программирование или другие пути, но никак не в лоб.
0
|
01.05.2011, 20:58 | 14 | |||||
Ну и что? Тут вообще цикл с заранее известными константами, компилятор мог это все превратить в :
2
|
01.05.2011, 21:04 | 16 |
Не по теме: Реальный случай: люди проверяли 2 разных компилятора, написали длинный код, с кучей математических вычислений, скомпилировали и в результате, программа скомпилированная на одном из компиляторов работала мнгновенно (чего не могло быть вообще). Когда посмотрели ассемблерный код, выяснялось, что по скольку вычисления были с константами, компилятор из длинного кода сделал одну строку - вывод конечного результата ))) Добавлено через 1 минуту
1
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
01.05.2011, 22:06 | 18 |
diagon, Откровенно говоря компилятор вообще многое может сделать на стадии компиляции. Факториал посчитать к примеру.
1
|
01.05.2011, 22:06 | |
01.05.2011, 22:06 | |
Помогаю со студенческими работами здесь
18
Создать программу по всем 3 видам циклов...цикл с параметром,цикл с условием,цикл,и цикл с предусловием... Цикл с предусловием, цикл с постусловием и цикл с параметром Программирование одномерных массивов. Программирование двумерных массивов. Программирование динамических массивов VBA Выбор кафедры в дальнейшей жизни: прикладное программирование VS системное программирование Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |