高中物理老師通常認為問題當中的文字敘述比純計算還要難,畢竟,身為學生必須得先讀懂題目才行!
所以老師們不會把題目寫成這樣:「電壓為 10 伏特、電流 5 安培、求電功率?」 ($U=10V$, $I=5A$, $P=?$) 而是喜歡把題目弄這樣:「你有一組電路,電路裡包含了一顆 10 伏特的電池和一枚燈泡,若現在有一 5 安培的電流通過此燈泡,那麼燈泡的電功率為何?」 (You have an electrical circuit that contains a battery with a voltage of $U=10V$ and a light-bulb. There’s an electrical current of $I=5A$ through the bulb. Which power is generated in the bulb?)
然而,半數的學生不會去鳥題目到底寫了什麼,只會設法從題目中找出已知條件:電壓 10 伏特、電流 5 安培,然後思考:「我該用什麼公式?噢,對了!$P = I\times{V}$,因此我可以得到電功率為 $10 \times{5} = 500$ 瓦特,完成。」
沒錯,但這個方法並不是每次都有用,所以這些學生在物理考試都考不高,但至少可以寫一個間單的程式來讓班上的人通過考試。 (雖然很遺憾但這是事實)
現今我們將測試電腦是否可以通過高中物理考試,我們先解決電功率–電壓–電流類型 (P-U-I type) 的題目。這意味著給你兩個已知的條件,然後求出第三項的值。
你的工作就是寫一支程式讀入一段題目,然後用簡單的演算法解出答案。
Input
輸入的第一行為一個正整數,代表有多少行測資。
接著每行測資包含兩個已知條件和一些額外的文字,已知條件的格式為 $I=xA$、$U=xV$ 或 $P=xW$ ($x$ 為實數)。
而在單位 ($A$、$V$ 或 $W$) 前面會有一個數量級單位:m (milli,千分之一,$10^{-3}$ 倍)、k (kilo,千,$10^3$ 倍) 和 M (Mega,百萬,$10^6$ 倍)。而已知條件 (data field) 會依下面規則出現:
DataField ::= Concept '=' RealNumber [Prefix] Unit
Concept ::= 'P' | 'U' | 'I'
Prefix ::= 'm' | 'k' | 'M'
Unit ::= 'W' | 'V' | 'A'
額外補充:
- 等號 (=) 不會出現在已知條件以外的地方。
- 已知條件內不會出現空白字元。
- 測資只會給三個已知條件中的任意兩個。
Output
對於每行測資,請輸出三行:
- 第一行輸出「Problem #k」,k 代表第 k 個測資。
- 第二行輸出答案 (依據他所給的條件,請輸出電壓、電功率或電流),並將數量級轉換為基本單位及輸出至小數點後兩位。
- 最後一行請空一行。
Sample Input
3
If the voltage is U=200V and the current is I=4.5A, which power is generated?
A light-bulb yields P=100W and the voltage is U=220V. Compute the current, please.
bla bla bla lightning strike I=2A bla bla bla P=2.5MW bla bla voltage?
Sample Output
Problem #1
P=900.00W
Problem #2
I=0.45A
Problem #3
U=1250000.00V