938. Точка на отрезке

 

Отрезок задан координатами его концов 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 в координатах:

x2x1 = (x2x) * (α + 1), x2x = ,

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))