И 200 РУБЛЕЙ Имеется древовидная структура данных, где из одной ветви разрастаются две, и так далее. Структура представлена в виде таблицы, представленной ниже и состоящей из четырёх уровней, каждая ячейка имеет свой номер. Была составлена новая таблица из десяти уровней. В этой таблице извлекли каждую ячейку с номером, равным простому числу, оставив её пустой, при этом, извлечение ячейки не приводит к изменению структуры и нумерации ячеек таблицы. Сколько пустых ячеек в сумме на 3,5 и 7 уровнях вместе взятых?
Const m=5; n=6; type arr=array[1..m,1..n] of integer; procedure p1(var a:arr); var i,j:integer; begin for i:=1 to m do for j:=1 to n do a[i,j]:=random(51); end; procedure p2(var a:arr); var i,j:integer; begin for i:=1 to m do begin for j:=1 to n do write(a[i,j]:4); writeln; end; end; procedure p3(var a:arr); var i,j,s,max,min,jmax,jmin,c:integer; begin max:=0; min:=m*50*50; for j:=1 to n do begin s:=0; for i:=1 to m do s:=s+a[i,j]*a[i,j]; if s>max then begin max:=s; jmax:=j; end; if s<min then begin min:=s; jmin:=j; end; end; writeln('jmax = ',jmax,' jmin = ',jmin); for i:=1 to m do begin c:=a[i,jmax]; a[i,jmax]:=a[i,jmin]; a[i,jmin]:=c; end; end;
var b:arr; begin Randomize; p1(b); writeln('Исходный массив:'); p2(b); p3(b); writeln('Полученный массив:'); p2(b); end.
// PascalABC.NET 3.2, сборка 1353 от 27.11.2016 // Внимание! Если программа не работает, обновите версию!
begin var a:=ReadArrReal(12).Select(x->real(x)).ToArray; Writeln('Тип массива ',a.GetType); Writeln('Максимальное нечетное: ',a.Where(x->Trunc(x).IsOdd).Max) end.
Пример 13 10 22 31 22 6 18 5 26 3 8 24 Тип массива System.Double[] Максимальное нечетное: 31
// PascalABC.NET 3.2, сборка 1353 от 27.11.2016 // Внимание! Если программа не работает, обновите версию!
begin var c:=new Char[10]; for var i:=0 to 9 do c[i]:=ReadlnChar; var c1:=c[9]; var c2:=c[8]; c:=c.Where(a->(a<>c1) and (a<>c2)).ToArray; c.Println(',') end.
type arr=array[1..m,1..n] of integer;
procedure p1(var a:arr);
var i,j:integer;
begin
for i:=1 to m do
for j:=1 to n do a[i,j]:=random(51);
end;
procedure p2(var a:arr);
var i,j:integer;
begin
for i:=1 to m do
begin
for j:=1 to n do write(a[i,j]:4);
writeln;
end;
end;
procedure p3(var a:arr);
var i,j,s,max,min,jmax,jmin,c:integer;
begin
max:=0; min:=m*50*50;
for j:=1 to n do
begin
s:=0;
for i:=1 to m do s:=s+a[i,j]*a[i,j];
if s>max then begin max:=s; jmax:=j; end;
if s<min then begin min:=s; jmin:=j; end;
end;
writeln('jmax = ',jmax,' jmin = ',jmin);
for i:=1 to m do
begin
c:=a[i,jmax]; a[i,jmax]:=a[i,jmin]; a[i,jmin]:=c;
end;
end;
var
b:arr;
begin
Randomize;
p1(b);
writeln('Исходный массив:');
p2(b);
p3(b);
writeln('Полученный массив:');
p2(b);
end.
Пример:
Исходный массив:
34 47 38 31 18 19
12 0 43 30 2 33
20 49 43 16 45 14
31 32 29 30 50 26
44 32 30 50 1 23
jmax = 3 jmin = 6
Полученный массив:
34 47 19 31 18 38
12 0 33 30 2 43
20 49 14 16 45 43
31 32 26 30 50 29
44 32 23 50 1 30
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ReadArrReal(12).Select(x->real(x)).ToArray;
Writeln('Тип массива ',a.GetType);
Writeln('Максимальное нечетное: ',a.Where(x->Trunc(x).IsOdd).Max)
end.
Пример
13 10 22 31 22 6 18 5 26 3 8 24
Тип массива System.Double[]
Максимальное нечетное: 31
// PascalABC.NET 3.2, сборка 1353 от 27.11.2016
// Внимание! Если программа не работает, обновите версию!
begin
var c:=new Char[10];
for var i:=0 to 9 do c[i]:=ReadlnChar;
var c1:=c[9];
var c2:=c[8];
c:=c.Where(a->(a<>c1) and (a<>c2)).ToArray; c.Println(',')
end.
Пример
а
п
е
л
ь
с
и
н
е
ь
а,п,л,с,и,н