Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 666
от 07.12.2007, 16:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 276, Экспертов: 41
В номере:Вопросов: 1, Ответов: 3


Вопрос № 112008: Уважаемые эксперты! Помогите пожалуйста решить задачку с помощью алгоритма или на бейсике: Нужно найти минимальное натуральное число больше 1, у которого нет делителей в диапазоне от 2 до n. Вводится одно целое число 1 < n < 1000. Вывести иском...

Вопрос № 112.008
Уважаемые эксперты! Помогите пожалуйста решить задачку с помощью алгоритма или на бейсике: Нужно найти минимальное натуральное число больше 1, у которого нет делителей в диапазоне от 2 до n. Вводится одно целое число 1 < n < 1000. Вывести искомое число.
Заранее спасибо!
Отправлен: 02.12.2007, 15:45
Вопрос задала: Ira_mg07 (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Tossha
Здравствуйте, Ira_mg07!

dim f as boolean

a = 2
f = true
while f
f = false
for i = 2 to n
if a mod i = 0 then
f = true
end if
next
a = a + 1
wend

print a

Я это не тестил, но, вроде, будет работать. Удачи
Ответ отправил: Tossha (статус: 2-ой класс)
Ответ отправлен: 02.12.2007, 15:55

Отвечает: Дмитрий Т.
Здравствуйте, Ira_mg07!
Вам не совсем дали правильный ответ, вам следует начинать проверку чисел, не с двойки
a = 2,
а с числа (n+1), потому что вашей задачей по-просту является: найти первое простое число большее n. Естественно, что до n оно располагаться не может. Значит a = n+1 (вместо a = 2).
Ответ отправил: Дмитрий Т. (статус: 2-ой класс)
Ответ отправлен: 03.12.2007, 08:05
Оценка за ответ: 5

Отвечает: Черников Игорь Владимирович
Здравствуйте, Ira_mg07!
Для начала что такое алгоритм?
«Алгоритм — это всякая система вычислений, выполняемых по строго определённым правилам, которая после какого-либо числа шагов заведомо приводит к решению поставленной задачи.» (А. Колмогоров)

«Алгоритм — это точное предписание, определяющее вычислительный процесс, идущий от варьируемых исходных данных к искомому результату.» (А. Марков)

«Алгоритм — строго детерминированная последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, записанная с помощью понятных исполнителю команд.» (Угринович Николай Дмитриевич)

«Алгоритм — это последовательность действий, направленных на получение определённого результата за конечное число шагов.» (ROXANstudio)

«Алгоритм есть формализованная последовательность действий (событий). Алгоритм может быть записан словами и изображен схематически. Практически любое неслучайное повторяемое действие поддается описанию через алгоритм.» ([grey_olli])

«Алгоритм — однозначно, доступно и кратко (условные понятия — названия этапа) описанная последовательность процедур для воспроизводства процесса с обусловленным задачей алгоритма результатом при заданных начальных условиях. Универсальность (или специализация) алгоритма определяется применимостью и надёжностью данного алгоритма для решения нестандартных задач.»

«Алгоритм — это система операторов, взятых из множества операторов некоторого исполнителя, которая полностью определяет некоторый класс алгоритмических процессов, то есть процессов, которые:
дискретны;
детерминированы;
потенциально конечны;
преобразовывают некоторые конструктивные объекты.

Между операторами алгоритма и операциями (элементарными действиями) алгоритмического процесса существует гомоморфное соответствие. Поэтому алгоритм следует также считать моделью алгоритмического процесса». (А. Копаев)

А теперь ответ:
Объявляем переменные:
n, n1, проверка, ИскомоеЧисло - Integer
Flag - Boolean

1. Вывод на экран окна, в которое пользователь должен ввести число (n).
2. Присваение переменной n значения, введённое пользователем.
'т.к. искомое число должно быть больше n, то:
3. Присваение переменной ИскомоеЧисло значение, равное n+1, т.е. ИскомоеЧисло=n+1
4. Начало цикла 1
5. Присваиваем переменной Flag значение False
6. Присваиваем переменной n1, которая будет принимать значения от 2 до n, значение 2, т.е. n1=2
7. Начало цикла 2
8. Если n1>n, то выходим из цикла 2
9. присваеваем переменой "проверка" значение ИскомоеЧисло, делённое на n1
10. Если переменая "проверка" не содержит дробной части, то присваеваем переменной Flag значение True
11. Увеличиваем переменную n1 на единицу, т.е. n1=n1+1
12. Конец цикла 2
13. Если переменная Flag = False, то выходим из цикла 1
14. Увеличение переменной ИскомоеЧисло на единицу т.е. ИскомоеЧисло=ИскомоеЧисло+1
15. Конец цикла 1
16. Выводим на экран переменную ИскомоеЧисло
17. Конец программы

Приложение:

---------
От каждого по способностям, каждому по труду

Ответ отправил: Черников Игорь Владимирович (статус: 8-ой класс)
Ответ отправлен: 04.12.2007, 20:05


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.65 от 04.12.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное