С применением авторской функции - Pascal ABC
Формулировка задачи:
Составить программу, которая заполняет одномерный массив из 20
элементов случайными целыми числами от 1 до 99, а затем определяет,
сколько в массиве имеется простых чисел (простым числом называется такое,
которое делится только на единицу или само на себя).С применением авторской функции
Решение задачи: «С применением авторской функции»
textual
Листинг программы
- program author;
- function IsPrime(a: integer): boolean;
- var
- i, delta: integer;
- begin
- a := abs(a);
- IsPrime := (a > 1) and ((a <= 3) or (a mod 2 <> 0) and (a mod 3 <> 0));
- delta := 4;
- i := 5;
- while (sqr(i) <= a) and IsPrime do
- begin
- IsPrime := IsPrime and (a mod i <> 0);
- delta := delta xor $06; {смена шага - то 2 то 4}
- Inc(i, delta);
- end;
- end;
- var
- a: array [1..20] of integer;
- i: integer;
- PrimeCount: integer;
- begin
- randomize;
- for i := 1 to 20 do
- begin
- a[i] := 1 + random(99);
- Write(a[i]: 3);
- end;
- writeln;
- PrimeCount := 0;
- for i := 1 to 20 do
- if IsPrime(a[i]) then
- Inc(PrimeCount);
- writeln(PrimeCount);
- end.
Объяснение кода листинга программы
- В функции IsPrime определяется, является ли число простым. Функция принимает число a в качестве параметра и возвращает true, если число простое, и false в противном случае. Переменные i, delta и IsPrime инициализируются.
- В основной программе создается массив a[1..20] из 20 чисел. Каждое число в массиве генерируется случайным образом от 1 до 99. Затем каждое число выводится на экран.
- После вывода чисел начинается цикл, который проверяет каждое число в массиве на простоту с помощью функции IsPrime. Если число простое, то его количество увеличивается на 1.
- После завершения цикла выводится количество простых чисел в массиве.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д