HDOJ 2080 夹角有多大II

简介: HDOJ 2080 夹角有多大II

Problem Description

这次xhd面临的问题是这样的:在一个平面内有两个点,求两个点分别和原点的连线的夹角的大小。


注:夹角的范围[0,180],两个点不会在圆心出现。


Input

输入数据的第一行是一个数据T,表示有T组数据。

每组数据有四个实数x1,y1,x2,y2分别表示两个点的坐标,这些实数的范围是[-10000,10000]。


Output

对于每组输入数据,输出夹角的大小精确到小数点后两位。


Sample Input

2

1 1 2 2

1 1 1 0


Sample Output

0.00

45.00

import java.util.Scanner;
public class Main{
    static final double PI  = 3.141592653;
    public static void main(String[] args) {
        Scanner sc =new Scanner(System.in);
        int t = sc.nextInt();
        while(t-->0){
            double x1 = sc.nextDouble();
            double y1 = sc.nextDouble();
            double x2 = sc.nextDouble();
            double y2 = sc.nextDouble();
            double a = x1*x1+y1*y1;
            double b = x2*x2+y2*y2;
            double c = (x2-x1)*(x2-x1)+(y2-y1)*(y2-y1);
            double m =( Math.acos(((a+b-c)/(2*Math.sqrt(b)*Math.sqrt(a)))))*180/PI;         
            System.out.printf("%.2f",m);
            System.out.println();
        }
    }
}
目录
相关文章
|
6月前
|
前端开发 小程序 JavaScript
贝塞尔曲线的切线及其AABB问题
贝塞尔曲线的切线及其AABB问题
五种常用距离的代码实现:欧式距离、曼哈顿距离、闵可夫斯基距离、余弦相似度、杰卡德距离
五种常用距离的代码实现:欧式距离、曼哈顿距离、闵可夫斯基距离、余弦相似度、杰卡德距离
|
9月前
|
算法
欧几里得
欧几里得
67 4
|
机器学习/深度学习 C++
C++实现实现逆时针旋转矩阵
C++实现实现逆时针旋转矩阵
C++实现实现逆时针旋转矩阵
二维平面的欧几里得距离
二维平面的欧几里得距离
使用最小二乘法将xld曲线拟合成直线
使用最小二乘法将xld曲线拟合成直线
425 0
7.6 曲面及其方程
7.6 曲面及其方程
98 0
|
机器学习/深度学习 搜索推荐 数据挖掘
常见的几种距离量度(欧式距离、曼哈顿距离、切比雪夫距离等)
在机器学习和数据挖掘中,我们经常需要计算样本之间的相似度,通常的做法是计算样本之间的距离。本文介绍几种常用的距离量度方法。
1137 0