複數可以寫成(a + bi)的常規形式,其中a是實部,b是虛部,i是虛數單位,滿足i2 = -1;也可以寫成極座標下的指數形式(r*e(pi)),其中r是複數模,p是輻角,i是虛數單位,其等價於三角形式(r(cos(p) +isin(p))。
現給定兩個複數的r和p,要求輸出兩數乘積的常規形式。
輸入格式:
輸入在一行中依次給出兩個複數的r1, p1, r2, p2,數字間以空格分隔。
輸出格式:
在一行中按照「a+bi」的格式輸出兩數乘積的常規形式,實部和虛部均保留2位小數。注意:如果b是負數,則應該寫成「a-|b|i」的形式。
輸入樣例:
2.3 3.5 5.2 0.4輸出樣例:
-8.68-8.23i
分析:額。。看到題目有些懵逼了,主要我忘記了複數乘法怎麼算。。而且看到極座標表示形式就更懵逼了,高中學的知識都忘了。幸好想起來還有cos和sin這兩個函式。這兩個函式的引數單位是弧度,可以拿過來直接算,不用進行轉換。我在計算器上先算了一下,確保是弧度還是度數。
第一次沒ac,有個測試點沒過,想了好半天也找不出原因,後來看別人的**,發現要設定乙個閾值,畢竟是浮點運算,計算過程也會產生精度誤差吧。
以前寫解一元二次方程也要設個閾值,當做題經驗吧,整理到本本上。
ac**:
#include #include int main()
else if ( -0.005 < b3 && b3 < 0 )
else
return 0;
}
PAT B 1051 複數乘法 15
複數可以寫成 a bi 的常規形式,其中a是實部,b是虛部,i是虛數單位,滿足i2 1 也可以寫成極座標下的指數形式 r e pi 其中r是複數模,p是輻角,i是虛數單位,其等價於三角形式 r cos p isin p 現給定兩個複數的r和p,要求輸出兩數乘積的常規形式。輸入在一行中依次給出兩個複數...
PAT B1051 複數乘法
複數可以寫成 a bi 的常規形式,其中a是實部,b是虛部,i是虛數單位,滿足i2 1 也可以寫成極座標下的指數形式 r e pi 其中r是複數模,p是輻角,i是虛數單位,其等價於三角形式 r cos p isin p 現給定兩個複數的r和p,要求輸出兩數乘積的常規形式。輸入格式 輸入在一行中依次給...
PAT B1051 複數乘法
複數可以寫成 a bi 的常規形式,其中a是實部,b是虛部,i是虛數單位,滿足i2 1 也可以寫成極座標下的指數形式 r e pi 其中r是複數模,p是輻角,i是虛數單位,其等價於三角形式 r cos p isin p 現給定兩個複數的r和p,要求輸出兩數乘積的常規形式。輸入格式 輸入在一行中依次給...