Есть ответ 👍

Заполнить двумерный массив размерностью nxn (n нечетное число) целыми числами от 1 до n*n по следующим правилам: a) единица помещается в среднюю клетку первой строки; b) заполнение массива происходит по диагоналям вправо и вверх; c) при достижении верхней строки следующее число помещается в нижнюю строку так, как будто она находится над верхней строкой; d) при достижении крайнего правого столбца следующее число помещается в крайний левый столбец так, как будто он находится около крайнего правого столбца; e) при достижении верхней клетки крайнего правого столбца следует опуститься на одну строку ниже в вертикальном порядке и продолжать заполнение клеток по правилу; f) если клетка уже заполнена, следует опуститься на одну строку ниже в вертикальном порядке и продолжать заполнение клеток по правилу.

260
452
Посмотреть ответы 2

Ответы на вопрос:

tdemon
4,5(44 оценок)

Это алгоритм построения магического квадрата нечетного порядка магическая константа (сумма числе по строке, столбцу или диагоналям) может быть найдена по формуле баше де мезириака: ниже программа на языке pascal.abc. const   k = 29; var   m, n, i, j: integer;   a: array[1..k, 1..k] of integer; procedure rule_f; begin   if (i = 0) and (j = n + 1) then begin       i : = 2;       j : = n   end   else begin       if i = 0 then i : = n;       if j = n + 1 then j : = 1   end;   if a[i, j] < > 0 then   begin       i : = i + 2;       j : = j - 1;       rule_f   end   else       a[i, j] : = m end; procedure rule_b; begin   i : = i - 1;   j : = j + 1 end; begin   write('введите целое нечетное число не меньше, чем 3: ');   readln(n);   if (n mod 2) = 0 then writeln('ошибка: вы ввели четное число.')   else if n < 3 then writeln('ошибка: число должно быть не меньше трех.')   else   begin       for i : = 1 to n do           for j : = 1 to n do               a[j, j] : = 0;       i : = 1;       j : = (n + 1) div 2;       a[i, j] : = 1;       for m : = 2 to sqr(n) do       begin           rule_b;           rule_f       end;       writeln('магический квадрат порядка ', n, ' с магической константой ',           (n * (sqr(n) + 1)) div 2);       for i : = 1 to n do       begin           for j : = 1 to n do write(a[i, j]: 4);           writeln       end   end end. тестовое решение: введите целое нечетное число не меньше, чем 3: 5 магический квадрат порядка 5 с магической константой 65   17  24    1    8  15   23    5    7  14  16     4    6  13  20  22   10  12  19  21    3   11  18  25    2    9
NiKoOl18
4,7(17 оценок)

Исползуя 3 бита нельзя, потому что   будет недостаток информации, если мы видим 000 - первые три пусты, то это не значит, что в 4ой будет 1( в каждой из них может быть(а может и не быть)клад)4 бита да можно, пример 1001, клады в первой и четвертой пещере.5 бит - пятой пещеры нет там всегда будет ноль, четыре значения будут

Популярно: Информатика