您当前的位置: 首页 >  算法

星许辰

暂无认证

  • 0浏览

    0关注

    466博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

杭电OJ第11页2080~2084算法题(C语言)

星许辰 发布时间:2021-01-21 11:06:13 ,浏览量:0

目录
  • 2080.夹角有多大II
  • 2081.手机短号
  • 2082.找单词
  • 2083.简易版之最短距离
  • 2084.数塔

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

分析:利用向量的夹角公式α=arccos(a*b/(|a|*|b|)),并且用acos(-1)代替π。

#include 
#include 

void IncludedAngle(){
	int T;
	double x1,y1,x2,y2;
	double res;
	scanf("%d",&T);
	//有T组数据 
	while(T--){
		scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);
		//利用向量的夹角公式,并且用acos(-1)代替π 
		res=(x1*x2+y1*y2)/(sqrt(x1*x1+y1*y1)*sqrt(x2*x2+y2*y2));
		printf("%.2lf\n", acos(res)*180/acos(-1));
	}
}
2081.手机短号
Problem Description
大家都知道,手机号是一个11位长的数字串,同时,作为学生,还可以申请加入校园网,如果加入成功,你将另外拥有一个短号。假设所有的短号都是是 6+手机号的后5位,比如号码为13512345678的手机,对应的短号就是645678。
现在,如果给你一个11位长的手机号码,你能找出对应的短号吗?
 
Input
输入数据的第一行是一个N(N             
关注
打赏
1665627467
查看更多评论
0.0538s