Applese 的减肥计划 (几何问题)

链接:https://ac.nowcoder.com/acm/contest/330/J
来源:牛客网
 

Applese 最近又长胖了,于是它打算减肥——练习举重。


他在举重的时候用两只手往不同方向用力,从而把杠铃举起来。

已知 Applese 两只手分别产生的力的大小,以及它们之间的夹角,试求两力合力的大小。

输入描述:

仅一行三个整数 f1,f2,af1,f2,a,分别表示两只手产生的力的大小以及它们之间的夹角。

输出描述:


 

输出一个实数表示两力合力的大小,要求相对误差或绝对误差不超过 10−610−6。

严格来讲,如果你的答案是 a,而标准答案是 b,那么当 |a−b|max{1,|b|}≤10−6|a−b|max{1,|b|}≤10−6 时,你的答案会被认为是正确的。

示例1

输入

复制

6 8 90

输出

复制

10.0000000000

示例2

输入

复制

10 10 60

输出

复制

17.3205080757

备注:

1≤f1,f2≤1001≤f1,f2≤100
0≤a≤180

首先根据画图可得:已知 F1 , F2 ,和角度 a ,那么合力 F = sqrt (F1*F1 + F2*F2 - 2*F1*F2*cos(180-a)  )

其次,计算cos时,要注意cos函数参数是角度的弧度制,而题目给的是角度制,所以这里要变换一下。

弧度 = 角度 * pi / 180;

pi 可以定义为 acos(-1.0)

最后,答案保留10位小数

#include<iostream>
#include<cmath>
const double pi = acos(-1.0) ;
using namespace std;

int main()
{
	double f1,f2,a;
	double ans;
	while (cin>>f1>>f2>>a)
	{
		a = (180-a)*pi/180;
		
		ans = sqrt(f1*f1+f2*f2-2*f1*f2*cos(a) );
		printf("%.10lf\n",ans);
	}
	
	return 0;
}

 

posted @ 2019-01-29 17:54  RomanticChopin  阅读(145)  评论(0编辑  收藏  举报
-->
Live2D