Skip to main content
в текст добавлено 88 символов
Источник Ссылка
rotabor
  • 7.1k
  • 2
  • 5
  • 20

Задача решается аналитически элементарно:

=INT(LOG2(2*MAX(B-A,C-B)-1))
a = int(input())
b = int(input())
c = int(input())
# Option 1
from math import log2
d = max(b - a, c - b)
print(int(log2(2 * d - 1))) 
# Option 2
d = max(c - b, b - a) - 1
print(d.bit_length())

Поскольку нужно найти наибольшее число шагов, то начинаем с большего промежутка d = max(b - a, c - b), что сводится к расположению { A = B - d; B; C = B + d }. Дальше сС каждым шагом промежуток уменьшается вдвое, поэтому количество шагов равно двоичному логарифму от первоначального расстояния между двумя соседними кузнечиками d. Если очередной промежуток d чётный, то следующий выбирается d/2. Для любого натурального n количество решений для промежутков 2n и 2n+1 одинаковое.

Варианты решения эквивалентны, так как d.bit_length()==int equals int(log2(d) + 1).

введите сюда описание изображения

Задача решается аналитически элементарно:

=INT(LOG2(2*MAX(B-A,C-B)-1))
a = int(input())
b = int(input())
c = int(input())
# Option 1
from math import log2
d = max(b - a, c - b)
print(int(log2(2 * d - 1))) 
# Option 2
d = max(c - b, b - a) - 1
print(d.bit_length())

Поскольку нужно найти наибольшее число шагов, то начинаем с большего промежутка max(b - a, c - b). Дальше с каждым шагом промежуток уменьшается вдвое, поэтому количество шагов равно двоичному логарифму от расстояния между двумя кузнечиками. Если очередной промежуток d чётный, то следующий выбирается d/2. Для любого натурального n количество решений для промежутков 2n и 2n+1 одинаковое.

Варианты решения эквивалентны, так как d.bit_length()==int(log2(d) + 1).

введите сюда описание изображения

Задача решается аналитически элементарно:

=INT(LOG2(2*MAX(B-A,C-B)-1))
a = int(input())
b = int(input())
c = int(input())
# Option 1
from math import log2
d = max(b - a, c - b)
print(int(log2(2 * d - 1))) 
# Option 2
d = max(c - b, b - a) - 1
print(d.bit_length())

Поскольку нужно найти наибольшее число шагов, то начинаем с большего промежутка d = max(b - a, c - b), что сводится к расположению { A = B - d; B; C = B + d }. С каждым шагом промежуток уменьшается вдвое, поэтому количество шагов равно двоичному логарифму от первоначального расстояния между двумя соседними кузнечиками d. Если очередной промежуток d чётный, то следующий выбирается d/2. Для любого натурального n количество решений для промежутков 2n и 2n+1 одинаковое.

Варианты решения эквивалентны, так как d.bit_length() equals int(log2(d) + 1).

введите сюда описание изображения

в текст добавлено 687 символов
Источник Ссылка
rotabor
  • 7.1k
  • 2
  • 5
  • 20

Задача решается аналитически элементарно:

=INT(LOG2(2*MAX(B-A,C-B)-1))
a = int(input())
b = int(input())
c = int(input())
# Option 1
from math import log2
d = max(b - a, c - b)
print(int(log2(2 * d - 1))) 
# Option 2
d = max(c - b, b - a) - 1
print(d.bit_length())

Поскольку нужно найти наибольшее число шагов, то начинаем с большего промежутка max(b - a, c - b). Дальше с каждым шагом промежуток уменьшается вдвое, поэтому количество шагов равно двоичному логарифму от расстояния между двумя кузнечиками. Если очередной промежуток d чётный, то следующий выбирается d/2. Для любого натурального n количество решений для промежутков 2n и 2n+1 одинаковое.

Варианты решения эквивалентны, так как d.bit_length()==int(log2(d) + 1).

введите сюда описание изображения

Задача решается аналитически элементарно:

=INT(LOG2(2*MAX(B-A,C-B)-1))
a = int(input())
b = int(input())
c = int(input())
# Option 1
from math import log2
d = max(b - a, c - b)
print(int(log2(2 * d - 1))) 
# Option 2
d = max(c - b, b - a) - 1
print(d.bit_length())

Поскольку нужно найти наибольшее число шагов, то начинаем с большего промежутка max(b - a, c - b). Дальше с каждым шагом промежуток уменьшается вдвое, поэтому количество шагов равно двоичному логарифму от расстояния между двумя кузнечиками. Если очередной промежуток d чётный, то следующий выбирается d/2. Для любого натурального n количество решений для промежутков 2n и 2n+1 одинаковое.

Варианты решения эквивалентны, так как d.bit_length()==int(log2(d) + 1).

Задача решается аналитически элементарно:

=INT(LOG2(2*MAX(B-A,C-B)-1))
a = int(input())
b = int(input())
c = int(input())
# Option 1
from math import log2
d = max(b - a, c - b)
print(int(log2(2 * d - 1))) 
# Option 2
d = max(c - b, b - a) - 1
print(d.bit_length())

Поскольку нужно найти наибольшее число шагов, то начинаем с большего промежутка max(b - a, c - b). Дальше с каждым шагом промежуток уменьшается вдвое, поэтому количество шагов равно двоичному логарифму от расстояния между двумя кузнечиками. Если очередной промежуток d чётный, то следующий выбирается d/2. Для любого натурального n количество решений для промежутков 2n и 2n+1 одинаковое.

Варианты решения эквивалентны, так как d.bit_length()==int(log2(d) + 1).

введите сюда описание изображения

в текст добавлено 687 символов
Источник Ссылка
rotabor
  • 7.1k
  • 2
  • 5
  • 20

Задача решается аналитически элементарно:

=INT(LOG2(2*MAX(B-A,C-B)-1))
a = int(input())
b = int(input())
c = int(input())
# Option 1
from math import log2
d = max(b - a, c - b)
print(int(log2(2 * d - 1))) 
# Option 2
d = max(c - b, b - a) - 1
print(d.bit_length())

Поскольку нужно найти наибольшее число шагов, то начинаем с большего промежутка max(b - a, c - b). Дальше с каждым шагом промежуток уменьшается вдвое, поэтому количество шагов равно двоичному логарифму от расстояния между двумя кузнечиками. Если очередной промежуток d чётный, то следующий выбирается d/2. Для любого натурального n количество решений для промежутков 2n и 2n+1 одинаковое.

Варианты решения эквивалентны, так как d.bit_length()==int(log2(d) + 1).

Задача решается аналитически элементарно:

=INT(LOG2(2*MAX(B-A,C-B)-1))

Задача решается аналитически элементарно:

=INT(LOG2(2*MAX(B-A,C-B)-1))
a = int(input())
b = int(input())
c = int(input())
# Option 1
from math import log2
d = max(b - a, c - b)
print(int(log2(2 * d - 1))) 
# Option 2
d = max(c - b, b - a) - 1
print(d.bit_length())

Поскольку нужно найти наибольшее число шагов, то начинаем с большего промежутка max(b - a, c - b). Дальше с каждым шагом промежуток уменьшается вдвое, поэтому количество шагов равно двоичному логарифму от расстояния между двумя кузнечиками. Если очередной промежуток d чётный, то следующий выбирается d/2. Для любого натурального n количество решений для промежутков 2n и 2n+1 одинаковое.

Варианты решения эквивалентны, так как d.bit_length()==int(log2(d) + 1).

из текста удалён 1 символ
Источник Ссылка
rotabor
  • 7.1k
  • 2
  • 5
  • 20
Загрузка
Сообщение восстановлено участником rotabor
Сообщение удалено участником rotabor
Источник Ссылка
rotabor
  • 7.1k
  • 2
  • 5
  • 20
Загрузка