Программа ищет простые числа в диапазоне от 2 до введённого пользователем числа и выводит их на экран в столбик. проверка на простоту осуществляется перебором делителей от 2 до корня из проверяемого числа.
Вы можете скопировать указанный ниже код программы в IDE MS Small Basic и запустить:
TextWindow.WriteLine("Поиск простых чисел.")
TextWindow.Write("Введите максимальное число: ") ' Запрос числа у пользователя
MainNumber = TextWindow.ReadNumber() ' Пользователь вводит число
If MainNumber < 2 Then ' Проверка на неподходящее число (меньшее 2)
TextWindow.WriteLine("Число меньше 2!") ' Выводим предупреждение
Program.End() ' Завершаем программу
EndIf
' Проверка на целое число
IntNumber = Math.Floor(MainNumber) ' убираем дробную часть (усекаем число до целого)
If IntNumber < MainNumber Then ' Если изначальное число больше усечённого, то...
TextWindow.WriteLine("Число не целое!") ' Выводим предупреждение
Program.End() ' Завершаем программу
EndIf
TextWindow.WriteLine(2) ' выводим 2 в качестве первого простого числа (данный алгоритм не позволяет распознать 2 как простое число, но мы это - и так знаем)
For TestNumber = 2 To MainNumber ' перебор всех чисел от 2 до заданного числа
' определяем максимальный делитель для проверки:
MaxDiv = Math.Ceiling(Math.SquareRoot(TestNumber)) ' получаем целую часть от корня проверяемого числа
For Divider = 2 To MaxDiv ' Перебор делителей
If Math.Remainder(TestNumber, Divider) = 0 Then ' Если остаток от деления равен нулю
Goto out ' число - точно составное! - переходим к следующему числу (выходим во внешний цикл)
EndIf
EndFor
' если мы перебрали в цикле все возможные делители и не вылетели, значит число - простое
TextWindow.WriteLine(TestNumber) ' печатаем число
out: ' пойдём проверять следующее число
EndFor
Поделиться: