(HDU2080)给出两个点,求出两点与原点连线的形成的角度

来源:互联网 发布:涟漪效应 人工智能 编辑:程序博客网 时间:2024/05/21 16:06

利用高中的知识:cosθ=a^2+b^2-c^2/(2ab)

然后有个数学函数acos,求出cosθ的弧度值,在把这个值乘上180除以PI就是结果...

#include <cstdio>#include <cstdlib>#include <cstring>#include <iostream>#include <cmath>#include <algorithm>using namespace std;#define pi 3.1415926int main(){int T;scanf("%d",&T);while (T--){double x1,x2,y1,y2,a,b,c,f;scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);a=sqrt(x1*x1+y1*y1);b=sqrt(x2*x2+y2*y2);c=sqrt( (x1-x2)*(x1-x2)+(y1-y2)*(y1-y2) );f=(a*a+b*b-c*c)/(2*a*b);//printf("%lf\n",f);f=acos(f)*180/pi;printf("%.2lf\n",f);}return 0;}


 

原创粉丝点击