Applese 的减肥计划

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

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
Special Judge, 64bit IO Format: %lld
题目描述

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

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

已知 Applese 两只手分别产生的力的大小,以及它们之间的夹角,试求两力合力的大小。
输入描述:
仅一行三个整数
f
1
,
f
2
,
a
f1,f2,a,分别表示两只手产生的力的大小以及它们之间的夹角。
输出描述:
输出一个实数表示两力合力的大小,要求相对误差或绝对误差不超过
10

6
10−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

f
1
,
f
2

100
1≤f1,f2≤100
0

a

180

思路:这题卡了半个多小时,就是因为Math.cos方法,因为之前没什么了解,现在才知道输入的数居然是弧度,而不是角度,搞得慢了别人超多时间。

AC代码:

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        double f1=sc.nextDouble();
        double f2=sc.nextDouble();
        double a=sc.nextDouble();
        if(a==0)
            System.out.println(f1+f2);
        else if(a==180)
            System.out.println(f2>f1?f2-f1:f1-f2);
        else{
            double b = Math.toRadians(a);
            double temp=f1*f1+f2*f2+2*f1*f2*Math.cos(b);
            System.out.printf("%.10f",Math.sqrt(temp));
        }
        sc.close();
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章