noname955
28.02.2020 04:16

При отсутствии ПК: 1 Задание. Сопоставляет инструменты с его назначением

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
wasdas390wasdas390
08.11.2020 16:38
Const
  lim = 11;

type
  V = array[1..lim] of integer;

function FirstNegative(a: V; n: integer): integer;
var
  i: integer;
begin
  i := 0;
  Result := 0;
  repeat
    i := i + 1;
    if a[i] < 0 then Result := i
  until (Result > 0) or (i > lim)
end;

procedure InpMass(var a: V; var n: integer; mName: string);
// Организует ввод массива
var
  i, p: integer;
begin
  writeln('Вводите элементы массива ' + mName + '; 7777 - конец ввода');
  i := 0;
  repeat
    read(p);
    i := i + 1;
    if p <> 7777 then a[i] := p;
  until (p = 7777) or (i > lim);
  n := i - 1
end;

var
  a, b: V;
  m, n, p, q: integer;

begin
  InpMass(a, m, 'A');
  InpMass(b, n, 'B');
  p := FirstNegative(a, m);
  q := FirstNegative(b, n);
  if p <= q then writeln('Номер первого отрицательного элемента в массива А: ', p)
  else writeln('Номер первого отрицательного элемента в массива B: ', q)
end.

Тестовое решение:

Вводите элементы массива A; 7777 - конец ввода
37 14 -25 32 30 -29 38 27 7777
Вводите элементы массива B; 7777 - конец ввода
33  -36   23  -17   -3  -16  -33   33  -48  -39   30 7777
Номер первого отрицательного элемента в массива B: 2
0,0(0 оценок)
Ответ:
прждлшеджж
08.08.2020 18:31
Чтобы решить эту задачу нам нужно научиться определять, куда выгодно сесть бабочке. Представим, что столбов 10, тогда бабочки сидят на столбах 1, 9, 10. Бабочка, что справа летит на столб между 1 и 9 а именно на 5ый((9-1-1)/2+1 = 4,5, но число столбов нечетное, пожтому мы округляем до большего) Разберёмся с тем, как мы получили число пять, составив формулу. Чтобы узнать, число, находящееся между двумя числами, надо из максимального вычесть минимальное и ещё 1, затем разделить на 2 и прибавить меньшее число. Если ответ получается дробным, то округляем в большую сторону, а если целым, то надо учитывать сторону, с которой совершается ход.
(S-F-1)/2+F+D
F - первое число
S - второе число
D - если число целое, то смотрим, с какой стороны летит бабочка. если справа, то = 0, если слева, то = 1, в остальных случаях (когда нечетн.) = 0.

Теперь к самому решению. Нам надо, чтобы ходов было как можно больше, столбы, оказавшиеся с краю от крайних бабочек - выбывают из игры, а значит, что за первый ход нам надо избавиться от минимального количества столбов, тогда выберем такое расположение: 1 2017 2018. Начинает бабочка справа.
1 ход: 1 1008 2017
2 ход: 1008 1513 2017
3 ход: 1008 1260 1513
4 ход: 1260 1387 1513
5 ход: 1260 1323 1387
6 ход: 1323 1355 1387
7 ход: 1323 1339 1355
8 ход: 1339 1347 1355
9 ход: 1339 1343 1347
10 ход: 1343 1345 1347
11 ход: 1343 1344 1345

ответ: 11 ходов.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота