// PascalABC.NET 3.1, сборка 1239 от 08.05.2016 begin var b:array[1..6,1..6] of integer:=( (19,21,23,25,27,29),(57,59,61,63,65,31), (55,81,83,85,67,33),(53,79,89,87,69,35), (51,77,75,73,71,37),(49,47,45,43,41,39)); var a:array[1..6,1..6] of integer; var k:=2; var k0,k1:integer; for var i:=1 to 6 do begin for var j:=1 to 6 do Print(b[i,j]); Writeln end; Writeln; repeat k0:=0; k1:=0; Writeln('k=',k); for var i:=1 to 6 do begin for var j:=1 to 6 do begin if (b[i,j] mod k) mod 2=0 then begin a[i,j]:=1; Inc(k1) end else begin a[i,j]:=0; Inc(k0) end; Print(a[i,j]) end; Writeln end; Writeln('k0=',k0,', k1=',k1); if k0<>k1 then Inc(k) until k0=k1; Writeln(NewLine,'k=',k) end.
В шестеричной системе алфавит состоит из цифр 0,1,...5. Четырехразрядное число по условиям задания (1) и (2) имеет вид aabb, где a=1,2,...5, b=0,1,...5. В развернутой записи число имеет вид a×6³+a×6²+b×6+b×1 = 6²×a(6+1)+b(6+1) = 7(36a+b) При этом по условию (3) можно записать, что k² = 7(36a+b) Чтобы число 7(36a+b) было полным квадратом, 36a+b должно быть кратно 7, а остаток от деления (36a+b) на 7 также должен быть полным квадратом. Получаем, что 36a+b = 7m² Минимальное значение 36a+b равно 36×1+0 = 36, следовательно m>2 (при m=2 получим 7×4=28, что меньше 36). При m=3 получаем 36a+b = 63 и при a∈[1;5], b∉[0;5] решений нет. При m=4 получаем 36a+b = 112 и находим a=3, b=4 - есть решение! При m=5 получаем 36a+b = 175 и при a∈[1;5], b∉[0;5] решений нет. При m=6 получаем 36a+b = 175 и получаем, что a=7, а это недопустимо. Дальше смысла проверять нет. Итак, a=3, b=4, число 3344₆ = 7×(36×3+4) = 784₁₀ = 28²
Вот надеюсь правильно! Если не прав
ильно то прости