Выдать элементы массива, являющиеся простыми числами - PascalABC.NET
Формулировка задачи:
Помогите пожалуйста с программой:составить функцию,проверяющую, является ли заданное натуральное число простым. Выдать элементы массива, являющиеся простыми числами.
Решение задачи: «Выдать элементы массива, являющиеся простыми числами»
textual
Листинг программы
uses Arrays, System.Linq; begin var a:=CreateRandomIntegerArray(20); writeln(a); writeln(a.Where(v -> (v > 1) and Enumerable.Range(2, Trunc(Sqrt(v)) - 1).All(t -> v mod t <> 0))); end.
Объяснение кода листинга программы
В этом коде:
uses Arrays, System.Linq;- Импортируются необходимые пространства имен для работы с массивами и методами LINQ.var a:=CreateRandomIntegerArray(20);- Создается массивaразмером 20 с помощью функцииCreateRandomIntegerArray, которая генерирует случайные целые числа.writeln(a);- Выводится содержимое массиваaс помощью функцииwriteln.writeln(a.Where(v -> (v > 1) and Enumerable.Range(2, Trunc(Sqrt(v)) - 1).All(t -> v mod t <> 0)));- Выводятся только те элементы массиваa, которые являются простыми числами. Для этого используется методWhereдля фильтрации элементов, удовлетворяющих условию:v > 1иEnumerable.Range(2, Trunc(Sqrt(v)) - 1).All(t -> v mod t <> 0). Второе условие проверяет, что числоvне делится без остатка на числа от 2 до квадратного корня изv. Таким образом, выводятся только простые числа из массиваa.