37. Satellites (CPE10424, UVA10221) - CPE一顆星解答與說明

   👉  CPE 一顆星選集列表(49題) 題目說明與解答

CPE一顆星49題解答 - pdf 電子檔,售價 199 元,

購買電子檔可將筆記與完整解答帶著走,

坐車、上課時皆可隨時複習,

不受網路或廣告影響,

若有需要請來信購買 greens2314@gmail.com


題目

  • 求兩個人造衛星之間的距離
    • 圓弧距離
    • 直線弦距離

輸入說明



  • 每一行包含
    • 整數 s :衛星到地球表面的距離
    • 整數 a:兩個衛星與地球中心的夾角
    • 字串
      • min:minutes 角分
      • deg :degrees 角度 (例如一圈是360度)





輸出說明

  • 輸出圓弧距離與直線弦距離
  • 輸出格式為小數點後六位




解題技巧


解題過程

取得輸入

  • double 型態儲存角度
  • 因角度後續會轉成弧度,而弧度是有小數點的


將夾角單位統一為角度單位

  • 題目會給兩種角度單位:角度(deg)角分(min)
  • 1 角度 = 60 角分
  • 當單位為角分
    • 將測試資料給的角分數值除以 60 ,即可轉為角度單位

計算弧長 – 方式 1 

  • 一個圓的角度為 2π (360 度),其圓周長為 2π(圓周率)r(半徑)
  • 一個夾角弧度為  π / 6 時(即角度 30 度)
    • 其弧長與夾角的比例會與圓周長與 360 度的比例相同
  • 弧長公式 = 弧度 "×" r 半徑
    • 角度轉弧度,呼叫  Math.toRadians(30) 方法


計算弧長 – 方式 2

  • 弧長公式
        

計算弦長,使用三角函式

  • 2×半徑 ×𝒔𝒊𝒏⁡(弧度/𝟐)
  • sin函式運算,可呼叫 Math.sin()
  • 角度轉弧度以下方法擇一使用
    1. 呼叫 Math.toRadians(angle)
    2. 將角度 * Math.PI / 180




印出結果

  • 印出弧長與弦長,數值到小數點第六位
    • 使用 printf 方法
    • System.out.printf("%.6f %.6f" , 變數1, 變數2)
    • 換行
      • /r/n
      • %n
      • System.out.println();
    



CPE一顆星49題解答 - pdf 電子檔,售價 199 元,

購買電子檔可將筆記與完整解答帶著走,

坐車、上課時皆可隨時複習,

不受網路或廣告影響,

若有需要請來信購買 greens2314@gmail.com

留言

這個網誌中的熱門文章

CPE 一顆星選集題目說明與解答 - Java 筆記與心得分享

Visual Studio 自動排版格式化程式碼

1. Vito's family (CPE10406, UVA10041) - CPE一顆星解答與說明