Вектор. Скалярное произведение
Очень простая
Ограничение по времени выполнения 1 секунда
Ограничение по использованию памяти 128 мегабайт
Даны два вектора. Найдите их скалярное произведение и угол между ними.
Напишите код согласно следующего интерфейса:
class Vector // C++ { public: int dx, dy; Vector(void); // Конструктор. Прочитайте координаты вектора double Len(void); // Возвращает длину вектора int operator *(Vector &b); // Перегрузка оператора *: возвращает скалярное произведение векторов double GetAngle(Vector &b); // Возвращает в радианах угол между текущим вектором и вектором b };
class Vector // Java { private int dx, dy; Vector(); // Конструктор, создает нулевой вектор Vector(int dx, int dy); // Конструктор, создает вектор (dx, dy) public double getLength(void); // Возвращает длину вектора public int Scalar(Vector v); // Возвращает скалярное произведение текущего вектора и вектора v public double GetAngle(Vector v); // Возвращает в радианах угол между текущим вектором и вектором v };
Входные данные
Четыре целых числа - координаты ненулевых векторов. Все числа по модулю не превосходят 10000.
Выходные данные
В первой строке выведите скалярное произведение двух векторов, а во второй выведите величину неориентированного угла между векторами с точностью до пяти десятичных знаков. Выводимое число должно принадлежать интервалу [0; π].
Примеры
Ввод #1
Ответ #1
Отправки 621
Коэффициент принятия 53 %