close
題目概要:
計算出2顆衛星的距離(直線距離、弧長)。
解題方向:
1.兩顆衛星的直線距離:直用正弦定理或餘弦定理去解即可。
2.兩顆衛星的弧長:直接用弧長公式去解即可。
注意事項:
1.當角度(deg)超過180度時需要用360去減掉。
2.範例程式碼中使用餘弦定理,式子已經有簡化過。不過用正弦會方便很多。
3.記得加上地球半徑(r+s),不要直接拿衛星離地表的距離(s)當作半徑去算。
4. 1(min)=60(deg)
5.min轉換成deg要注意,如果你是直接把轉換後的結果放到第2個參數上,那麼第2個參數的型態記得要是float/double,否則答案會錯。
//這樣打是錯誤的!!!!!
while(sc.hasNext()){
int s=sc.nextInt();
int a=sc.nextInt(); //第2個參數
String type=sc.next();
if(type.equals("deg")){
a=Math.min(360-a,a);
}else{
a/=60; //這裡會有小數點,所以轉換出來結果不是正確的,連帶輸出的答案也是錯誤的!!
}
//省略...
}
6.在瘋狂程設中換行要\r\n,Uva Online Judge則只需要\n就好。如果不想換一個平台就要改換行的格式,那就先印出結果,印完後再用System.out.println()做換行即可。
7.Java的Math.cos()帶入的參數單位為弧度,所以要自己把角度(deg)轉成弧度才能帶入。
程式碼:
文章標籤
全站熱搜
留言列表