0 / 0 / 0
Регистрация: 28.03.2015
Сообщений: 18
|
|
1 | |
Как ускорить работу цикла?28.11.2015, 07:20. Показов 2893. Ответов 5
Метки нет (Все метки)
Всем привет. Итак, мне нужно было решить задачу на подобии вот этой Найти на отрезке [m, n] натуральное число, имеющее наи¬большее количество делителей на языке PascalABC.И как бы вариант решения подходит , но проблема в том что промежуток чисел от 1 до миллиона .И поэтому комп выполняет программу очень долго. Есть какие то идеи что бы ускорить работу программы?
0
|
28.11.2015, 07:20 | |
Ответы с готовыми решениями:
5
Объяснить работу цикла Объясните работу цикла while Проясните работу цикла Можно ли как нибудь ускорить работу цикла for? |
Модератор
|
||||||
28.11.2015, 09:11 | 2 | |||||
Поменять алгоритм. Можно ускориться за счёт дополнительной памяти примерно так:
PS. Для Turbo Pascal такое решение напрямую не подойдет, такого размера массив объявить не выйдет.
0
|
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
||||||
28.11.2015, 09:43 | 3 | |||||
А зачем здесь массив? И у меня эта программа вообще уходит в глубокий цикл даже при n=10.
Есть вот такой вариант, но при n=100000 работает быстро, а при 1 млн очень долго, а Делфи побыстрее.
0
|
0 / 0 / 0
Регистрация: 28.03.2015
Сообщений: 18
|
||||||
28.11.2015, 11:08 [ТС] | 4 | |||||
А можно ли выполнить программу в многопотоке ,если конечно такое можно сделать в паскале,может это поможет?
Добавлено через 30 минут Решил задачу,5 секунд тоже нормально ,уж получше прошлого алгоритма, спасибо Puporev. Вот код:
0
|
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
|
28.11.2015, 11:13 | 5 |
А у Вас в Паскале встроенная справка есть, если уж читать более серьезное лень?
Добавлено через 2 минуты Вот Вы создали тему в разделе Турбо Паскаль, но сами пишете не в нем. Для чего это? Мозги нам попудрить?
0
|
0 / 0 / 0
Регистрация: 28.03.2015
Сообщений: 18
|
||||||
28.11.2015, 11:51 [ТС] | 6 | |||||
Есть... Да создал , случайно так получилось извините
Добавлено через 29 минут Еще одним условием задачи оказалось вывести делители этого числа доработал код:
0
|
28.11.2015, 11:51 | |
28.11.2015, 11:51 | |
Помогаю со студенческими работами здесь
6
Ускорить работу вложенного цикла for() C# Как ускорить работу? Как ускорить работу IJ? Как ускорить выполнение цикла Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |