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();
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章