• Дан фрагмент программы обработки двумерного массива:
    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.2016begin  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.Решение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=20 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=0k=30 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=24k=40 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=0k=51 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=22k=60 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=0k=70 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=20k=80 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=0k=90 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=20k=100 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=0k=111 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=20k=120 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=0k=131 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=18k=13Ответ: 13
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years