** уроке информатики Васе поручили написать программу, заполняющую массив 2001 ** 2017...

0 голосов
34 просмотров

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


image

Информатика (474 баллов) | 34 просмотров
0

Олимпиада? Была уже такая задача.

Дан 1 ответ
0 голосов
Правильный ответ

Можно решить задачу и без использования массивов: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

(194k баллов)
0

А ответ какой

0

Вы не поняли не только задачу, но и решение? Зачем тогда в олимпиаде участвовать? Ответ есть в решении - изучайте.

0

17

0

Мне не до олимпиады мне нужно понят и узнать какой ответ