ПОМОГИТЕ,ПОЖАЛУЙСТА
Задача на Pascal
Дан массив натуральных чисел А(N), значения элементов которого лежат в диапазоне [2000,3000]. Найти:
а) количество элементов массива, которые являются палиндромами (т.е. читаются одинаково слева направо и справа налево)
б) минимальный элемент среди тех, цифровая запись которых содержит цифру 0 и не содержит цифру 8.
Ответы
Ответ:
Обьяснение снизу.
Объяснение:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
const
n = 100;
var
a: array [1..n] of integer;
i: integer;
x, maxi, summa: integer;
function prime(a: integer): boolean;
var
k: integer;
begin
prime := True;
for k := 2 to trunc(sqrt(a)) do
if a mod k = 0 then
begin
prime := False;
break;
end;
end;
begin
for i := 1 to n do
begin
a[i] := random(1501) + 1500;
write(a[i]:8);
end;
writeln;
summa := 0;
maxi := 0;
for i := 1 to n do
begin
x := a[i];
while x > 0 do
begin
if (x mod 10 = 7) and odd(a[i]) then
begin
summa := summa + a[i];
break;
end;
x := x div 10;
end;
if (prime(a[i])) and (a[i] > maxi) then
maxi := a[i];
end;
writeln('Cумма элементов массива, которые нечетны и имеют цифру 7 в записи: ', summa);
writeln('Максимальное простое: ', maxi);
end.
GRILLMACE ©