Определить, простое или составное введённое число - PascalABC.NET
Формулировка задачи:
Помогите создать программу,которая при введении любого числа показывает: простое или составное это введенное число. (Я пробовал но у меня не получалось. И похоже я вообще не правильно писал код.)
Решение задачи: «Определить, простое или составное введённое число»
textual
Листинг программы
function isSimple(value: cardinal): boolean; begin if value < 2 then begin Result := false; exit; end; Result := Range(2, Trunc(Sqrt(value))).Where(f -> value mod f = 0).Count = 0; end; begin writeln(isSimple(2147483647)); for var i:=2 to 100 do if not isSimple(i) then Print(i); end.
Объяснение кода листинга программы
- Объявлена функция
isSimple
, которая принимает целочисленный аргументvalue
типаcardinal
и возвращает логическое значениеboolean
. - В функции реализован простой проверческий алгоритм определения простого числа:
- Если число меньше 2, то оно не является простым, и функция возвращает
false
. - Иначе, функция проверяет, делится ли число на какое-либо число в диапазоне от 2 до квадратного корня из
value
. Если делится, то число составное, и функция возвращаетfalse
. - Если число не делится ни на одно число в указанном диапазоне, то оно простое, и функция возвращает
true
.
- Если число меньше 2, то оно не является простым, и функция возвращает
- В основной части программы вызвана функция
isSimple
с аргументом2147483647
, которое является максимальным значением дляcardinal
. - В цикле от 2 до 100 выполняется проверка, является ли текущее число простым с помощью функции
isSimple
. Если число не является простым, то оно выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д