Вопрос задан 27.04.2018 в 12:50. Предмет Информатика. Спрашивает Романов Нияз.

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

последовательными числами от 1 до 2001⋅⋅2017 по горизонталям, а Пете — по вертикалям (примеры заполнения таблицы 4×64×6 по горизонталям и вертикалям показаны на рисунке). Теперь ребят интересует такой вопрос: а сколько клеток в таблице 2001 на 2017 таковы, что и у Васи и у Пети в них стоят одни и те же числа? Например, для таблицы 4×64×6, изображенной на рисунке, таких клеток две — они отмечены серым цветом, в них стоят числа 1 и 24. В качестве ответа укажите одно целое число — искомое количество клеток
0 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

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос