|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.10.2012, 00:14 | #1 |
Пользователь
Регистрация: 29.10.2012
Сообщений: 10
|
Работа с процедурой (Delphi)
Требуется ввести два числа N1 и N2, программа должна вывести в столбик все простые числа в диапозоне от N1 до N2.
Примечание: простые числа - это числа которые делятся на 1 и на самих себя без остатка. У меня просто выводит все числа подряд в столбик не выполняя процедуры нахождения простого числа prover. Вот мой интерфейс и код: Код:
Например в данном случае вывод должен быть таким: 101 103 107 109 Последний раз редактировалось sergio212; 30.10.2012 в 00:40. |
30.10.2012, 00:51 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
ну для начала, Вы же в цикле не вызываете свою prover!!! в этом и есть главная Ваша ошибка!
Кроме того, на форуме 100500! раз писался код для проверки числа на простоту. Возьмите нормальный рабочий алгоритм, а не то, что Вы написали! вот, например, функция: Код:
Код:
Код:
|
30.10.2012, 14:25 | #3 |
Пользователь
Регистрация: 29.10.2012
Сообщений: 10
|
Большое спасибо все работает!
Просто преподаватель дал этот алгоритм нахождения простого числа и он работал в отдельной программе, но главное что в этом случае ваш алгоритм работает. Да и еще когда я вводил в свою неправильную программу числа от 1, то компьютер долго думал а только потом выводил все числа подряд, даже если я ввел числа от 1 до 2, но если я вводил числа от выше чем 1 до любого числа, выводилось все моментально. Почему так? Последний раз редактировалось sergio212; 30.10.2012 в 14:27. |
30.10.2012, 14:36 | #4 | |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Цитата:
d:=2. r := 1 mod 2 r равно 1 и не равно 0. Увеличиваем d. r := 1 mod 3 Опять 1. Странно, правда? Ещё увеличиваем d... Вопрос: когда r станет равно 0 (ведь это условие выхода из цикла)? |
|
01.11.2012, 16:45 | #5 |
Пользователь
Регистрация: 29.10.2012
Сообщений: 10
|
Вот на алгоритме преподавателя, если интересно.
Он мне сказал чтобы я использовал только его, пришлось переделать. Но его алгоритм плохо работает если ввести с 1 до n, приходиться ждать. Может его и можно как-нибудь оптимизировать. Код:
Код:
Последний раз редактировалось sergio212; 01.11.2012 в 16:51. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Очистка памяти процедурой .FormClose Delphi | Человек Панда | Помощь студентам | 0 | 24.10.2011 21:08 |
Проблема с хранимой процедурой в Delphi | Innnni | Помощь студентам | 0 | 01.05.2011 18:54 |
Работа с хранимой процедурой | MargoNik | БД в Delphi | 13 | 14.05.2009 20:53 |