Кузнечики: Определите, какое наибольшее число ходов может продолжаться игра - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Дорожка вымощена плитками в один ряд,плитки пронумерованы числами от 1 до 1000. На плитках с номерами A<B и C (A<B<C) сидят три кузнечика, которые играют в чехарду по следующим правилам: 1. На одной плитке может находиться только один кузнечик. 2. За один ход один из двух крайних кузнечиков (то есть с плитки А или с плитки С) может перепрыгнуть через среднего кузнечика (плитка B) и встать на плитку, которая находится ровно посередине между двумя оставшимися кузнечиками (то есть между B и С или А и B соответственно). Если между двумя оставшимися кузнечиками находится четное число плиток, то он может выбрать любую из двух центральных плиток. Например, если кузнечики первоначально сидели на плитках номер 1, 5, 10, то первым ходом кузнечик с плитки номер 10 может перепрыгнуть на плитку номер 3 (она находится посередине между 1 и 5), или кузнечик с плитки номер 1 может перепрыгнуть на плитку номер 7 или 8. Даны три числа A,B,C. Определите, какое наибольшее число ходов может продолжаться игра. Пример input 1 4 6 output 2

Решение задачи: «Кузнечики: Определите, какое наибольшее число ходов может продолжаться игра»

textual
Листинг программы
begin
  var a := ReadLnInteger('a =');
  var b := ReadLnInteger('b =');
  var c := ReadLnInteger('c =');
  var l := (c - b) + (b - a) - 2;
  var s := 0;
  while l > 0 do
    begin
      s += 1;
      l := l shr 1;
    end;
  WriteLn(s);
end.

Объяснение кода листинга программы

  1. В первой строке объявлены три переменные типа Integer: a, b и c. Значения этих переменных считываются с помощью функции ReadLnInteger.
  2. Затем вычисляется значение переменной l. Это значение представляет собой количество ходов, которые могут быть сделаны в игре.
  3. Переменная s инициализируется нулем. Она будет использоваться для подсчета количества ходов.
  4. В цикле while выполняется проверка: если l больше нуля, то выполняется следующее действие.
  5. К переменной s добавляется единица. Это означает, что счетчик ходов увеличивается на единицу.
  6. Значение переменной l уменьшается на единицу с помощью оператора shr.
  7. Цикл повторяется до тех пор, пока значение переменной l больше нуля.
  8. В конце программы выводится значение переменной s. Это количество ходов, которые могут быть сделаны в игре.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5
Похожие ответы