Падение с сопротивлением воздуха
Что моделирует программа
Нужно смоделировать падение тела с учётом того, что сопротивление воздуха возрастает с увеличением скорости. Расчёт выполняется дискретно: один шаг модели соответствует одной секунде.
Такие пошаговые модели применяют, когда состояние системы на следующем шаге зависит от уже достигнутой скорости или положения и прямой расчёт одним выражением становится неудобным.
Математическая модель
Пусть hn — высота тела, а vn — его скорость после n секунд. В начальный момент:
h0 = H, v0 = 0.
Величина сопротивления воздуха на n-м шаге задаётся формулой
rn = ⌊C · vn2 / 10000⌋.
Скорость и высота через одну секунду вычисляются так:
vn+1 = max(0, vn + 10 − rn),
hn+1 = hn − vn+1.
Обозначение. Символ ⌊x⌋ означает целую часть числа x, то есть округление вниз до ближайшего целого.
Падение заканчивается в первый момент t, когда ht ≤ 0.
Что должна определить программа
- время падения t;
- максимальную скорость, достигнутую за время падения;
- скорость vt на последнем шаге.
Входные данные
В одной строке вводятся два целых числа:
H C
- H — начальная высота тела, 1 ≤ H ≤ 200000;
- C — коэффициент сопротивления воздуха, 1 ≤ C ≤ 2000.
Выходные данные
Выведите три целых числа через пробел:
t vmax v
- t — время падения;
- vmax — максимальная скорость;
- v — скорость на последнем шаге.
| № | Входные данные | Выходные данные |
|
1
|
100 50
|
5 39 39
|
|
2
|
1000 50
|
25 45 45
|