![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 11.11.2011
Сообщений: 19
|
![]()
Составить программу на турбо паскале: напишите программу, печатающую все простые числа, не превосходящие данного числа.
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 03.10.2010
Сообщений: 321
|
![]()
в for прокрути от 0 но N и каждое число проверяй на простоту
например по функции Код:
fact(p-1) + 1 mod p = 0 - число простое Последний раз редактировалось Hemul; 11.11.2011 в 17:27. |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Код:
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 05.09.2011
Сообщений: 869
|
![]()
Серж, ты забыл вводить N
![]() Вообще, не совсем все же правильно делать так - проверять в цикле все числа на простоту. Ведь при проверке каждого числа приходится всю работу проводить заново.. Вообще, хотя эти две задачи: проверка на простоту и поиск всех простых - конечно, очень близки, с точки зрения производительности их следует все же разделять. Более естественный и эффективный способ поиска простых известен со времен древних греков - т.н. Решето Эратосфена. Принцип очень прост, но проблема в том, что ему надо много памяти. Это проявление общей закономерности: либо быстро, либо компактно ![]() Я вот состряпал прожку, которая использует по одному биту на число: Код:
Конечно, обе проги можно еще оптимизировать, но все же общий результат останется тем же.
Предпочитаю на "ты".
|
![]() |
![]() |
![]() |
#5 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
я это сделал не специально, но пусть это будет заданием для того, кто попытается использовать данный код. Цитата:
Просто способ с последовательным получением простых чисел (то же решето Эратосфена), немного сложнее. Поэтому, часто именно в учебных задачах используется полный перебор. он же простой, как топор! Ну, теперь для всех страждущих знаний есть целых ДВЕ программы. Пускай выбирают. TinMan, спасибо за замечание и код программы. |
||
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
НАЙТИ ВСЕ ПРОСТЫЕ ДЕЛИТЕЛИ НАТУРАЛЬНОГО ЧИСЛА N | Dima170792 | Помощь студентам | 5 | 11.06.2011 21:46 |
Найти все простые числа в заданном диапазоне | Nikita++ | Помощь студентам | 8 | 20.10.2010 20:05 |
найти из указанного диапазона все простые числа | мария2507 | Microsoft Office Excel | 11 | 03.04.2010 17:38 |
определить все простые числа не превосходящие заданного N QBasic | werus | Помощь студентам | 4 | 23.04.2009 13:32 |