B1051 複數乘法(python)

2021-10-04 16:49:53 字數 2233 閱讀 4260

1051 複數乘法 (15分)

複數可以寫成 (a+bi) 的常規形式,其中 a 是實部,b 是虛部,i 是虛數單位,滿足 i​2​​ =−1;也可以寫成極座標下的指數形式 (r×e​(pi)​​ ),其中 r 是複數模,p 是輻角,i 是虛數單位,其等價於三角形式 r(cos§+isin§)。

現給定兩個複數的 r 和 p,要求輸出兩數乘積的常規形式。

輸入格式:

輸入在一行中依次給出兩個複數的 r​1​​ , p​1​​ , r​2​​ , p​2​​ ,數字間以空格分隔。

輸出格式:

在一行中按照 a+bi 的格式輸出兩數乘積的常規形式,實部和虛部均保留 2 位小數。注意:如果 b 是負數,則應該寫成 a-|b|i 的形式。

輸入樣例:

2.3 3.5 5.2 0.4

輸出樣例:

-8.68-8.23i

version1:

注意輸出格式,如果虛部是正數要新增負號~

但還是有兩個測試點錯誤……

import math

r1, p1, r2, p2 =

map(

float

,input()

.split())

a1 = r1 * math.cos(p1)

b1 = r1 * math.sin(p1)

a2 = r2 * math.cos(p2)

b2 = r2 * math.sin(p2)

result =

complex

(a1, b1)

*complex

(a2, b2)

if result.imag >0:

print

('%.2f+%.2fi'

%(result.real, result.imag)

)else

:print

('%.2f%.2fi'

%(result.real, result.imag)

)

錯誤分析:

格式輸出直接粗暴判斷正負,沒有考慮邊界如果進製的符號變化情況。

例如,如果虛部為-0.006j,那麼進製後就是+0.01j

>>

> result =(-

0.007

-0.006j

)>>

>

if result.imag >=0:

print

('%.2f+%.2fi'

%(result.real, result.imag)

)else

:print

('%.2f%.2fi'

%(result.real, result.imag))-

0.01

-0.01i

實部、虛部符號均錯誤?

version2:

ac**

像上述這種情況應當單獨判斷~

import math

from decimal import decimal

r1, p1, r2, p2 =

map(

float

,input()

.split())

a1 = r1 * math.cos(p1)

b1 = r1 * math.sin(p1)

a2 = r2 * math.cos(p2)

b2 = r2 * math.sin(p2)

result =

complex

(a1, b1)

*complex

(a2, b2)

if result.real <

0and result.real +

0.005

>=0:

a ='0.00'

else

: a =

'%.2f'

%(result.real)

if result.imag <

0and result.imag +

0.005

>=0:

b ='+0.00i'

elif result.imag >=0:

b ='+%.2fi'

%(result.imag)

else

: b =

'%.2fi'

%(result.imag)

print

(a+b)

B1051 複數乘法

1051 複數乘法 15 分 複數可以寫成 a bi 的常規形式,其中 a 是實部,b 是虛部,i 是虛數單位,滿足 i2 1 也可以寫成極座標下的指數形式 r e pi 其中 r 是複數模,p 是輻角,i 是虛數單位,其等價於三角形式 r cos isin 現給定兩個複數的 r 和 p,要求輸出兩...

B1051 複數乘法 15

複數可以寫成 a bi 的常規形式,其中a是實部,b是虛部,i是虛數單位,滿足i2 1 也可以寫成極座標下的指數形式 r e pi 其中r是複數模,p是輻角,i是虛數單位,其等價於三角形式 r cos p isin p 現給定兩個複數的r和p,要求輸出兩數乘積的常規形式。輸入格式 輸入在一行中依次給...

B1051 複數乘法 15 分

複數可以寫成 a bi 的常規形式,其中 a 是實部,b 是虛部,i 是虛數單位,滿足 i 2 1 也可以寫成極座標下的指數形式 r e pi 其中 r 是複數模,p 是輻角,i 是虛數單位,其等價於三角形式 r cos isin 現給定兩個複數的 r 和 p,要求輸出兩數乘積的常規形式。輸入格式 ...