Можно решить задачу и без использования массивов: const n=2003; m=2016; var i,j,k:integer; begin k:=0; for i:=1 to n do for j:=1 to m do if (i-1)*m+j=(j-1)*n+i then k:=k+1; writeln(k); end.
Результат: 14
Если хочется с массивами, то: const n=4; m=6; var a,b:array[1..n,1..m] of integer; i,j,k:integer; begin writeln('1 массив:'); for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=(i-1)*m+j; write(a[i,j]:4); end; writeln; end; writeln('2 массив:'); for i:=1 to n do begin for j:=1 to m do begin b[i,j]:=(j-1)*n+i; write(b[i,j]:4); end; writeln; end; k:=0; for i:=1 to n do for j:=1 to m do if a[i,j]=b[i,j] then k:=k+1; writeln(k); end.
Answers & Comments
Verified answer
Можно решить задачу и без использования массивов:const n=2003; m=2016;
var
i,j,k:integer;
begin
k:=0;
for i:=1 to n do
for j:=1 to m do
if (i-1)*m+j=(j-1)*n+i then k:=k+1;
writeln(k);
end.
Результат:
14
Если хочется с массивами, то:
const n=4; m=6;
var
a,b:array[1..n,1..m] of integer;
i,j,k:integer;
begin
writeln('1 массив:');
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=(i-1)*m+j;
write(a[i,j]:4);
end;
writeln;
end;
writeln('2 массив:');
for i:=1 to n do
begin
for j:=1 to m do
begin
b[i,j]:=(j-1)*n+i;
write(b[i,j]:4);
end;
writeln;
end;
k:=0;
for i:=1 to n do
for j:=1 to m do
if a[i,j]=b[i,j] then k:=k+1;
writeln(k);
end.