var i,n,p,s,k,m:integer;
a:array [1..11] of integer;
begin
n:=10;
p:=1;
write('Массив: ');
for i:=1 to n do
begin
a[i]:=random(9)+1;
if a[i] mod 3 = 0 then p:=p*a[i];
write(a[i]:2,' ')
end;
writeln;
if p<>1 then writeln('Произведение элементов кратных 3 равно ',p)
else writeln('Элементов кратных 3 нет. Произведение элементов кратных 3 равно 0');
n:=9;
write('Массив: ');
for i:=1 to n do
begin
a[i]:=random(9)+1;
if a[i] > 5 then
begin
s:=s+a[i];
k:=k+1
end;
write(a[i]:2,' ')
end;
writeln;
if k<>0 then writeln('Cреднее арифметическое элементов массива больше 5 равно ',s/k:0:3)
else writeln('Элементов больше 5 нет. Cреднее арифметическое элементов массива больше 5 равно 0');
n:=11;
write('Массив: ');
for i:=1 to n do
begin
a[i]:=random(9)+1;
write(a[i]:2,' ')
end;
writeln;
m:=a[1];
for i:=2 to n do
if a[i]>m then m:=a[i];
writeln('Самый большой элемент массива равен ',m)
end.
2018 2020 1931 2109
Объяснение:
Последние элементы n-й строки образуют последовательность a(n)=n^2.
44<<45 ⇒ число 2019 расположено в 45=й строке.
Первые элементы n-й строки образуют последовательность b(n)=(n-1)^2+1.
(45-1)^2+1=1937 ⇒ 2019 не является первым элементом строки.
Поскольку число 2019 не является ни первым, ни последним элементом строки, у числа 2019 существует соседнее слева (2018) и соседнее справа (2020) число.
Для любого элемента n-й строки справедливо равенство c(n)-c(n-1)=(n-1)*2
Вычисляем верхнее соседнее число.
(45-1)*2=88
2019-88=1931
Вычисляем нижнее соседнее число.
(46-1)*2=90
2019+90=2109
Поделитесь своими знаниями, ответьте на вопрос:
Составьте программу которая находит все числа на промежутке от 1 до 50 , кратные 8 , использую циклический алгоритм
var i: integer;
begin
for i:=1 to 50 do
if i mod 8 = 0 then write(i,' ')
end.