Назовём расстоянием между двумя ступеньками количество ступенек между ними (например, расстояние между ступеньками с номерами 1 и 64 равно 62; между 64 и 100 - 35). Максимальным расстоянием я буду называть наибольшее расстояние от среднего камня до крайнего.
Если положить камень посередине между камнями, расстояние между которыми равно , то если нечётное, то новые расстояния будут , а если чётное, то и .
Заметим, что максимальное расстояние на -м шаге равно , то после перекладывания камня оно будет не больше
где - округление до ближайшего большего целого.
Значит, после первого хода Сизифа максимальное расстояние будет не больше 31, после второго не больше 15, после третьего 7, после четвертого 3, после пятого 1, после шестого 0. Больше новых ходов Сизиф сделать не сможет, значит, количество ходов может быть не больше шести.
Вот как может проходить игра из шести шагов (числа обозначают номера ступенек, на которых лежат камни):
===== PascalABC.NET =====
procedure DateNum(s1: string; var s2: string);
begin
s1 := s1.MatchValue('\d{1,2}\s\w{3,}\s\d{1,4}\sгода');
if s1.Length > 0 then
begin
var aw := s1.ToWords;
s2 := aw[0] + '.';
var m := Arr('января', 'февраля', 'марта', 'апреля',
'мая', 'июня', 'июля', 'августа', 'сентября',
'октября', 'ноября', 'декабря');
var i := m.FindIndex(w -> w = aw[1]);
if i >= 0 then
s2 += (i + 1).ToString + '.' + aw[2]
else s2 := ''
end
else
s2 := ''
end;
begin
var s1 := 'Сегодня 12 декабря 2019 года, четверг';
var s2: string;
DateNum(s1, s2);
if s2.Length > 0 then
Println(s2)
else
Println('Дата записана некорректно')
end.
6
Объяснение:
Назовём расстоянием между двумя ступеньками количество ступенек между ними (например, расстояние между ступеньками с номерами 1 и 64 равно 62; между 64 и 100 - 35). Максимальным расстоянием я буду называть наибольшее расстояние от среднего камня до крайнего.
Если положить камень посередине между камнями, расстояние между которыми равно , то если нечётное, то новые расстояния будут , а если чётное, то и .
Заметим, что максимальное расстояние на -м шаге равно , то после перекладывания камня оно будет не больше
где - округление до ближайшего большего целого.
Значит, после первого хода Сизифа максимальное расстояние будет не больше 31, после второго не больше 15, после третьего 7, после четвертого 3, после пятого 1, после шестого 0. Больше новых ходов Сизиф сделать не сможет, значит, количество ходов может быть не больше шести.
Вот как может проходить игра из шести шагов (числа обозначают номера ступенек, на которых лежат камни):
До: 1, 64, 100. После: 1, 33, 64.До: 1, 33, 64. После: 1, 17, 33.До: 1, 17, 33. После: 1, 9, 17.До: 1, 9, 17. После: 1, 5, 17.До: 1, 5, 17. После: 1, 3, 5.До: 1, 3, 5. После: 1, 2, 3.