М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
MostQweek
MostQweek
27.01.2023 09:29 •  Информатика

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) один камень или увеличить количество камней в куче в два раза. Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 75. Победителем считается игрок, сделавший последний ход, т.е. первым получивший такую позицию, при которой в кучах будет 75 или больше камней. В начальный момент в первой куче было 8 камней, во второй куче – S камней; 1 ≤ S ≤ 66. Найдите два таких значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
− Петя не может выиграть за один ход;
− Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
Найденные значения запишите в ответе в порядке возрастания без пробела.

👇
Открыть все ответы
Ответ:
Аноним9111
Аноним9111
27.01.2023
Program Project1;

var m:array [0..14] of integer; i:integer;

function IsPositive(a:integer):boolean;
begin
  result:=(a>-1);
end;

procedure work;
var min, max, count:integer;
begin
  count:=0;
  min:=m[0];
  max:=0;
  for i:=0 to 14 do begin
    if IsPositive(m[i]) then begin
      inc(count);
      if m[i]>max then max:=m[i];
      if m[i]<min then min:=m[i];
    end;
  end;
  writeln('MAX: ', max);
  writeln('MIN: ', min);
  writeln('Count: ', count);
end;

begin
  for i:=0 to 14 do begin
    write('n: ');
    readln(m[i]);
  end;

  work;

  readln;
end.
4,8(74 оценок)
Ответ:
yra221111
yra221111
27.01.2023
// PascalABC.NET 3.1, сборка 1230 от 27.04.2016
begin
  var n:=ReadInteger('n=');
  var a:=MatrixRandom(n,n,10,99);
  var s:=0;
  var k:=0;
  for var i:=0 to n-1 do begin
    for var j:=0 to n-1 do Print(a[i,j]);
    Writeln;
    if a[i,i].IsEven then begin s+=a[i,i]; Inc(k) end;
    end;
  if k>0 then Writeln('S=',s/k:0:2)
  else Writeln('На главной диагонали нет четных элементов')
end.

Тестовое решение
n= 8
63 13 33 90 25 21 87 91
88 88 48 13 30 59 81 27
73 23 76 77 52 19 33 97
53 87 13 74 17 35 61 70
77 96 51 61 82 33 63 22
39 88 84 54 88 73 74 69
76 26 69 14 45 80 70 54
80 36 47 38 18 22 84 62
S=75.33
4,5(90 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ