Вопрос № 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. Конец программы
Приложение:
--------- От каждого по способностям, каждому по труду