zoukankan      html  css  js  c++  java
  • 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
    ",ans);
    	}
    	
    	return 0;
    }
  • 相关阅读:
    volume 方式使用 Secret【转】
    查看 Secret【转】
    用 k8s 管理机密信息【转】
    MySQL 如何使用 PV 和 PVC?【转】
    【docker问题】Client.Timeout exceeded while awaiting headers
    PV 动态供给【转】
    回收 PV【转】
    NFS PersistentVolume【转】
    PV & PVC【转】
    IO流中的常见问题
  • 原文地址:https://www.cnblogs.com/Romantic-Chopin/p/12451171.html
Copyright © 2011-2022 走看看