Отрезок задан
координатами его концов M(x1,
y1), N(x2, y2). Найти
координаты точки O(x, y), которая делит его в отношении
α.
Вход. В одной строке заданы координаты концов
отрезка и число α. Все координаты не превышают по модулю 100.
Выход. Координаты
x и y искомой точки, разделенные пробелом. Координаты точки следует
выводить с точностью до сотых.
Пример входа |
Пример выхода |
2 1 8
4 0.5 |
4.00
2.00 |
геометрия
Анализ алгоритма
По условию
задачи MO / ON = α, откуда
MO =
α * ON, MN = MO + ON = α * ON
+ ON = (α + 1) * ON
Запишем
равенство MO = (α + 1) * ON в координатах:
x2 – x1 = (x2 – x) *
(α + 1), x2 – x = ,
x = x2 – = =
Аналогично
y =
Реализация алгоритма
Читаем входные
данные. Вычисляем и выводим координаты точки O(x, y).
scanf("%lf %lf %lf %lf %lf",&x1,&y1,&x2,&y2,&a);
x = (x1 + x2 *
a) / (a + 1);
y = (y1 + y2 *
a) / (a + 1);
printf("%.2lf %.2lf\n",x,y);
Python реализация
x1, y1, x2, y2, a = map(float,input().split())
x = (x1 + x2 * a) / (a + 1)
y = (y1 + y2 * a) / (a + 1)
print("%.2f %.2f"
%(x,y))