|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.10.2009, 16:57 | #1 |
Пользователь
Регистрация: 18.08.2009
Сообщений: 70
|
Помогите модернизировать программу
Уважаемые программисты, просьба подсказать простое решение следующей проблемы: нужно модернизировать программу, которая по заданной площади прямоугольника находит возможные длины его сторон(натуральные числа). Ниже привожу свой код(C):
Код:
|
18.10.2009, 17:08 | #2 |
Участник клуба
Регистрация: 18.10.2008
Сообщений: 1,409
|
Код:
|
18.10.2009, 17:10 | #3 |
Форумчанин
Регистрация: 10.10.2009
Сообщений: 680
|
Да, можно проще. Делаем второй цикл от а, а не от 1, и тогда второе число всегда будет не меньше первого.
Или, как в варианте counter'а, переделываем с квадратического алго в линейный. Но это уже будет не оптимизация, а правильное решение. Последний раз редактировалось Stilet; 19.10.2009 в 09:00. |
18.10.2009, 17:25 | #4 |
Участник клуба
Регистрация: 18.10.2008
Сообщений: 1,409
|
а чем плоха оптимизация до правильного варианта?
|
18.10.2009, 17:43 | #5 |
Форумчанин
Регистрация: 10.10.2009
Сообщений: 680
|
counter, я глупость написал, даже не лиенейный, а O(sqrt(N)). Нет, реализация хороша, оптимизация тоже. Просто надо еще учесть, что это за задание. Как я понимаю, задали в универе... Если задача просто выглядела, как условие, которое выложил топикстартер, то так и надо делать. А если, скажем, препод сказал "сделать с помощью вложенных циклов" или еще что-то в этом роде, то уже не то. Возможно, именно задание из первого поста данной темы - это и есть задача из универа, а не проблема, которая возикла в процессе ее решения. Я просто на всякий случай предупредил топикстартера, если ему действительно нужна была именно оптимизация даного кода, а не оптимизация алго, то пускай знает.
Последний раз редактировалось LeBron; 18.10.2009 в 21:48. |
18.10.2009, 21:44 | #6 |
Участник клуба
Регистрация: 18.10.2008
Сообщений: 1,409
|
LeBron, не стоит волноваться по этому поводу! Автор, собсно, и назвал тему "...модернизировать программу", т.е. его устроит и его вариант решения, только немного усовершенствованный (ваше предложение вполне законно!).
Но поскольку автора еще интересовало решение попроще, то тут мое решение в самый раз... правда с небольшим уточнением Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Написал программу, помогите натянуть Шейдеры или как нибудь модифицировать программу | WMLite | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 16.06.2009 13:57 |
Модернизировать код, сделать его быстрее | Rusl92 | Общие вопросы Delphi | 5 | 03.11.2008 19:23 |
Помогите дописать программу | cL1zMa | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 06.06.2008 14:40 |
Предлагаю модернизировать структуру форумов | Aero_cobra | О форуме и сайтах клуба | 12 | 12.03.2008 14:26 |