На уроке информатики Васе поручили написать программу, заполняющую массив 2001 на 2017 последовательными числами от 1 до 2001⋅⋅2017 по горизонталям, а Пете — по вертикалям (примеры заполнения таблицы 4×64×6 по горизонталям и ве...

На уроке информатики Васе поручили написать программу, заполняющую массив 2001 на 2017 последовательными числами от 1 до 2001⋅⋅2017 по горизонталям, а Пете — по вертикалям (примеры заполнения таблицы 4×64×6 по горизонталям и вертикалям показаны на рисунке). Теперь ребят интересует такой вопрос: а сколько клеток в таблице 2001 на 2017 таковы, что и у Васи и у Пети в них стоят одни и те же числа? Например, для таблицы 4×64×6, изображенной на рисунке, таких клеток две — они отмечены серым цветом, в них стоят числа 1 и 24. В качестве ответа укажите одно целое число — искомое количество клеток
Гость
Ответ(ы) на вопрос:
Гость
Можно решить задачу и без использования массивов:const n=2001; m=2017; 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. Результат: 17 Если хочется с массивами, то: 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. Результат: 1 массив:    1   2   3   4   5   6    7   8   9  10  11  12   13  14  15  16  17  18   19  20  21  22  23  24 2 массив:    1   5   9  13  17  21    2   6  10  14  18  22    3   7  11  15  19  23    4   8  12  16  20  24 2
Не нашли ответ?
Ответить на вопрос
Похожие вопросы