Дан кусок программки обработки двумерного массива:for I:=1 to 6 do for

Дан фрагмент программки обработки двумерного массива:
for I:=1 to 6 do
for J:=1 to 6 do
begin
S:=A[I,J] mod K;
if (S mod 2) = 0 then
A[I,J]:= 1
else A[I,J]:= 0;
end;
На вход ему подан массив А, приведенный ниже.
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
Какое малое значение обязано быть у переменной K, чтобы по окончании исполнения куска массив A содержал одинаковое количество единиц и нулей?

Задать свой вопрос
1 ответ
// 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 k0lt;gt;k1 then Inc(k)
  until k0=k1;
  Writeln(NewLine,'k=',k)
end.

Решение
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

k=2
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
k0=36, k1=0
k=3
0 1 1 0 1 1
1 1 0 1 1 0
0 1 1 0 0 1
1 0 1 1 1 1
1 1 1 0 1 0
0 1 1 0 1 1
k0=12, k1=24
k=4
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
k0=36, k1=0
k=5
1 0 0 1 1 1
1 1 0 0 1 0
1 0 0 1 1 0
0 1 1 1 1 1
0 1 1 0 0 1
1 1 1 0 0 1
k0=14, k1=22
k=6
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
k0=36, k1=0
k=7
0 1 1 1 1 0
0 0 0 1 1 0
1 1 1 0 1 0
1 1 0 0 1 1
1 1 0 0 0 1
1 0 0 0 1 1
k0=16, k1=20
k=8
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
k0=36, k1=0
k=9
0 0 0 0 1 1
0 0 0 1 1 1
0 1 1 1 1 1
1 0 1 1 1 1
1 0 0 0 1 0
1 1 1 0 0 0
k0=16, k1=20
k=10
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
k0=36, k1=0
k=11
1 1 0 0 0 0
1 1 1 1 1 0
1 1 1 1 0 1
0 1 0 1 0 1
0 1 0 0 0 1
0 0 0 1 1 1
k0=16, k1=20
k=12
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
k0=36, k1=0
k=13
1 1 1 1 0 0
0 0 0 0 1 0
0 0 0 0 1 0
0 0 0 0 1 0
1 1 1 1 1 0
1 1 1 1 1 1
k0=18, k1=18

k=13

Ответ: 13
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт