Предмет: Математика,
автор: Дианка9
Можно ли в таблицу размером 3x3 так записать числа 3, 4, 5, 6, 7, 8, 9, 10, 11, чтобы произведение чисел первого рядка было равным произведению чисел первого столбца, произведение чисел второго рядка было равным произведению чисел второго столбца, и, наконец, произведение чисел третьего рядка было равным произведению чисел третьего столбца?
Помогите, пожалуйста.
Ответы
Автор ответа:
0
Можно, например, так:
11 10 4
5 9 6
8 3 7
Всего есть 72 решения данной задачи.
uses math;
var a,b,c,d,e,f,g,h,i: integer;
var matrix: array [1..9] of integer;
var counter: integer;
procedure check_matrix();
label repeated;
var i:integer;
var storage: array [1..9] of integer;
begin
for i := 1 to 9 do begin
storage[i] := 0;
end;
for i := 1 to 9 do begin
if storage[matrix[i] - 2] <> 0 then begin
goto repeated;
end;
storage[matrix[i] - 2] := 1;
end;
if (matrix[2] * matrix[3] = matrix[4] * matrix[7]) and (matrix[4] * matrix[6] = matrix[2] * matrix[8]) and (matrix[7] * matrix[8] = matrix[3] * matrix[6]) then begin
writeln('', matrix[1]:3, '', matrix[2]:3, '', matrix[3]:3);
writeln('', matrix[4]:3, '', matrix[5]:3, '', matrix[6]:3);
writeln('', matrix[7]:3, '', matrix[8]:3, '', matrix[9]:3);
writeln();
counter := counter + 1;
end;
repeated:;
end;
begin
counter := 0;
for a:=1 to 9 do begin
matrix[1] := a + 2;
for b:=1 to 9 do begin
matrix[2] := b + 2;
for c:=1 to 9 do begin
matrix[3] := c + 2;
for d:=1 to 9 do begin
matrix[4] := d + 2;
for e:=1 to 9 do begin
matrix[5] := e + 2;
for f:=1 to 9 do begin
matrix[6] := f + 2;
for g:=1 to 9 do begin
matrix[7] := g + 2;
for h:=1 to 9 do begin
matrix[8] := h + 2;
for i:=1 to 9 do begin
matrix[9] := i + 2;
check_matrix();
end; end; end; end; end; end; end; end; end;
writeln('total: ', counter);
end.
11 10 4
5 9 6
8 3 7
Всего есть 72 решения данной задачи.
uses math;
var a,b,c,d,e,f,g,h,i: integer;
var matrix: array [1..9] of integer;
var counter: integer;
procedure check_matrix();
label repeated;
var i:integer;
var storage: array [1..9] of integer;
begin
for i := 1 to 9 do begin
storage[i] := 0;
end;
for i := 1 to 9 do begin
if storage[matrix[i] - 2] <> 0 then begin
goto repeated;
end;
storage[matrix[i] - 2] := 1;
end;
if (matrix[2] * matrix[3] = matrix[4] * matrix[7]) and (matrix[4] * matrix[6] = matrix[2] * matrix[8]) and (matrix[7] * matrix[8] = matrix[3] * matrix[6]) then begin
writeln('', matrix[1]:3, '', matrix[2]:3, '', matrix[3]:3);
writeln('', matrix[4]:3, '', matrix[5]:3, '', matrix[6]:3);
writeln('', matrix[7]:3, '', matrix[8]:3, '', matrix[9]:3);
writeln();
counter := counter + 1;
end;
repeated:;
end;
begin
counter := 0;
for a:=1 to 9 do begin
matrix[1] := a + 2;
for b:=1 to 9 do begin
matrix[2] := b + 2;
for c:=1 to 9 do begin
matrix[3] := c + 2;
for d:=1 to 9 do begin
matrix[4] := d + 2;
for e:=1 to 9 do begin
matrix[5] := e + 2;
for f:=1 to 9 do begin
matrix[6] := f + 2;
for g:=1 to 9 do begin
matrix[7] := g + 2;
for h:=1 to 9 do begin
matrix[8] := h + 2;
for i:=1 to 9 do begin
matrix[9] := i + 2;
check_matrix();
end; end; end; end; end; end; end; end; end;
writeln('total: ', counter);
end.
Похожие вопросы
Предмет: Музыка,
автор: kievekibond8
Предмет: Английский язык,
автор: wassand42
Предмет: Математика,
автор: tjdyjf
Предмет: Математика,
автор: User1User
Предмет: Геометрия,
автор: jejdjrjrjrjr