|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.09.2011, 19:23 | #1 |
Регистрация: 28.09.2011
Сообщений: 9
|
Оптимизация
Код:
Помогите сделать ее более "правильной" чтоли, вообщем как было бы представить алгоритм проще Последний раз редактировалось Stilet; 28.09.2011 в 20:59. |
29.09.2011, 03:39 | #2 | |
Форумчанин
Регистрация: 05.09.2011
Сообщений: 869
|
Цитата:
1. У тебя неправильная проверка на некорректный ввод (через and). Введи 32 и 12, например, и наслаждайся руганью программы на тебя. 2. Повторный ввод организован совсем неверно. Как в случае правильного, так и неправильного повторного ввода прога просто закончит работу. 3. Теперь та самая "оптимизация". Еще древние греки (а может, и египтяне) уже умели умножать и делить. Теперь, когда есть компьютеры, ты решил, что про умножение можно забыть. Зачем оно? Сложи число сто раз само собой - вот тебе и умножение! Я заменил циклы на формулы, чтоб не нагружать комп лишней работой. ... 4. ... Это повлекло за собой упрощение логической структуры, в главном (и единственном теперь) цикле теперь содержится только один if .. else. 5. Если делать печать ПОСЛЕ выхода из цикла, то количество проверок уменьшится (мы уже ТОЧНО ЗНАЕМ, что одно из чисел равно нулю). Если еще немного подумать, то становится ясно, что в этом случае сумма a+b равна тому числу, которое не равно нулю. Так что проверки при печати УХОДЯТ СОВСЕМ. 6. И последнее: читай вводимые данные не read'ом, а readln'ом. Иначе нажатие Enter'а остается в буфере ввода и может потом влиять на последующий ввод. 7. И самое последнее.. Форматируй код ПРАВИЛЬНО, а не для понту. Я еще сделаю небольшую оговорку.. Я не вникал в сам алгоритм как таковой. Я просто делал в программе эквивалентные замены (и исправления ЯВНЫХ ошибок). Так что проверяй результаты сам )). Вот полностью исправленный и оптимизированный код. Вникай. Код:
Предпочитаю на "ты".
Последний раз редактировалось TinMan; 29.09.2011 в 03:46. |
|
29.09.2011, 11:16 | #3 |
Регистрация: 28.09.2011
Сообщений: 9
|
okay, мне в голову ну никак не приходили формулы
Tinman, объясни пожалуйста откуда ты взял эти формулы? ты их сам вывел? как там получается результат такой? в ручную совсем другие цифры Последний раз редактировалось Красноглаз; 29.09.2011 в 23:38. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Оптимизация... | MikeMNN | Общие вопросы C/C++ | 0 | 15.12.2010 17:40 |
оптимизация | Terrance! | Помощь студентам | 8 | 24.09.2010 10:58 |
Оптимизация | Alex Cones | Общие вопросы Delphi | 9 | 07.07.2010 08:47 |
Оптимизация | Flangini | Microsoft Office Excel | 5 | 11.06.2009 11:48 |
Оптимизация | Terran | Общие вопросы Delphi | 3 | 03.05.2008 19:03 |