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

На уроке информатики Васе поручили написать программу, заполняющую массив 2003 на 2016 последовательными числами от 1 до 2003⋅⋅2016 по горизонталям, а Пете — по вертикалям (примеры заполнения таблицы 4×64×6 по горизонталям и вертикалям показаны на рисунке). Теперь ребят интересует такой вопрос: а сколько клеток в таблице 2003 на 2016 таковы, что и у Васи и у Пети в них стоят одни и те же числа? Например, для таблицы 4×64×6, изображенной на рисунке, таких клеток две — они отмечены серым цветом, в них стоят числа 1 и 24. В качестве ответа укажите одно целое число — искомое количество клеток.
Гость
Ответ(ы) на вопрос:
Гость
//PascalABC.NET версия 3.2, сборка 1417 //Если программа не запускается, то обновите версию begin     var n := 2003;     var m := 2016;     var a := MatrGen(n, m, (i, j)-> i + 1 + n * j);     var b := MatrGen(n, m, (i, j)-> j + 1 + m * i);          var k := 0;     for var i := a.GetLowerBound(0) to a.GetUpperBound(0) do         for var j := a.GetLowerBound(1) to a.GetUpperBound(1) do             if a[i, j] = b[i, j] then begin                 k += 1;                 Println(i + 1, j + 1, a[i, j]);             end;          //    a.Println();     //    writeln;     //    b.Println();     writeln(k); end. Вывод 1 1 1 156 155 310620 311 309 621239 466 463 931858 621 617 1242477 776 771 1553096 931 925 1863715 1086 1079 2174334 1241 1233 2484953 1396 1387 2795572 1551 1541 3106191 1706 1695 3416810 1861 1849 3727429 2016 2003 4038048 14 Ответ 14
Не нашли ответ?
Ответить на вопрос
Похожие вопросы