|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.11.2016, 16:10 | #1 |
Регистрация: 09.11.2016
Сообщений: 6
|
Язык С. Простые числа.
Здравствуйте! Помогите, пожалуйста. Нужно уменьшить время выполнения программы, как это можно сделать? заранее спасибо!
Дано n чисел. Для каждого из них определяется, простое ли оно. Если простое, выводится 1, иначе 0. Код:
|
17.11.2016, 16:17 | #2 |
мальчик-помогай =)
Форумчанин
Регистрация: 16.09.2010
Сообщений: 522
|
Гугли решето Эратосфена
|
17.11.2016, 16:36 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
да, думаю, что это оптимально.
ну можно немножко ускорить исходный код, уменьшив количество сравнений - перебирать делители нужно не до x, а до sqrt(x) (корень из x): например, тыц но, повторю, решето Эратосфена на больших числах должно дать многократный выигрыш. |
17.11.2016, 18:08 | #4 |
Регистрация: 09.11.2016
Сообщений: 6
|
Спасибо, помогло
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Выписать все простые числа, не превышающие данного числа N. | Julia_Sv | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 08.03.2016 23:17 |
Даны натуральные числа a и b (a<b). Получить все простые числа из промежутка от a до b. ( с# ) | NastyaShuvalova | Помощь студентам | 0 | 16.12.2013 18:08 |
язык си простые числа | Alexandr- | Помощь студентам | 1 | 21.04.2013 19:23 |
Даны целые числа р и q. Получить все делители числа q, взаимно простые c г. | Владан | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 03.12.2012 23:39 |
Задачи в ТурбоПаскаль: найти числа Армстронга и просуммировать числа в последовательности номера которых простые числа | Lena1808 | Помощь студентам | 1 | 17.05.2012 08:00 |