[CPE一星49題] UVA10071 - Back to High School Physics 題目解析與實作


編輯製作:
 蔡豐聲、莊祺仁 

單位: 中國醫藥大學 醫療資訊學系 程式俱樂部

 YT: https://youtu.be/cP_sHK_tDs4

## 題目資訊

  • 題目名稱: Back to High School Physics
  • 編號: CPE10411, UVA10071

## 題目解析

某一個粒子有一初速度和等加速度 。假設在 $t$ 秒後此粒子的速度為 $v$ ,請問這個粒子在 $2t$ 秒後所經過的位移是多少

## 輸入說明

  • 每組測試資料佔一列,包含兩個整數 :
  1.  $v$:代表 $t$ 秒後的速度($-100 \le v \le 100$)。
  2.  $t$:代表時間($0 \le t \le 200$)。
  • 輸入直到檔案結束 (EOF) 

## 輸出說明

  • 對每組測試資料,輸出粒子在 $2t$ 秒後所經過的總位移 。

## 範例測試

  • 輸入:
                 0 0
                 5 12
  • 輸出:
                 0
                 120

## 解題思路

  • 方法 I :  根據 v-t 圖(速度-時間圖),圖形下方的面積即代表位移。

  • 方法 II :  物理公式推導
  1. 根據等加速度運動公式,在 $t$ 秒時,速度 $v = v_0 + at$。
  2. 在 $2t$ 秒時的位移 $S$ 公式為:$$S = v_0(2t) + \frac{1}{2}a(2t)^2$$
  3. 化簡後可得:$$S = 2v_0t + 2at^2 = 2t(v_0 + at)$$
  4. 因為 $v = v_0 + at$,將其代入上式,得出最終公式:$$\mathbf{S = 2 \times v \times t}$$

## 實作程式碼 (Python)

# 用while迴圈一直執行
while True:
    # 1.1 讀入測資
    try:
        v, t = map(int, input().split())
    except:
        break
    # 1.2 輸出2*v*t
    print(2 * v * t)