PAT乙級1051複數乘法 15 分

2021-10-22 18:59:50 字數 1992 閱讀 1969

複數可以寫成 ( a + b i ) (a + bi)

( a

+ b

i )

的常規形式,其中 a a a

是實部, b b b

是虛部, i i i

是虛數單位,滿足 i 2 = ? 1 i^2 = -1

i ?

2 ? ?

= ? 1

;也可以寫成極座標下的指數形式 ( r × e ( p i ) ) (r\times e^)

( r

× e

? (

p i )

? ?

) ,其中 r r r

是複數模, p p p

是輻角, i i i

是虛數單位,其等價於三角形式 r ( cos ( p ) + i sin ( p ) ) r(\cos (p) + i \sin (p))

r (

cos

( p

) +

i sin

( p

) )

。 現給定兩個複數的 r r r

和 p p p

,要求輸出兩數乘積的常規形式。

輸入在一行中依次給出兩個複數的 r 1 r_1

r ?

1 ? ?

, p 1 p_1

p ?

1 ? ?

, r 2 r_2

r ?

2 ? ?

, p 2 p_2

p ?

2 ? ?

,數字間以空格分隔。

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

2.3 3.5 5.2 0.4
-8.68-8.23i

b =

newint**

[mini]

;for

(i =

0; i < mini; i++

) b[i]

=new

int*

[minj]

;for

(i =

0; i < mini; i++

)for

(j =

0; j < minj; j++)

sti =0;

stj =0;

endi = mini -1;

endj = minj -1;

for(k =

0; k < n;

)for

(;i(i < mini && j < minj && b[i]

[j][0]

==0)for

(;j>stj; j--)if

(i < mini && j < minj && b[i]

[j][0]

==0)if

(b[i]

[j][0]

==0)for

(; i > sti; i--)if

(i[j][0]

==0) sti++

; stj++

; endi--

; endj--;if

(sti > endi)

break;}

if(mini==minj&&n>

1&&mini%2==

1&&minj%2==

1)b[mini/2]

[minj/2]

[1]= a[n-1]

;if(n >1)

else

cout << a[0]

;return0;

}

題目詳情鏈結

PAT乙級 1051 複數乘法 15

時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 複數可以寫成 a bi 的常規形式,其中a是實部,b是虛部,i是虛數單位,滿足i2 1 也可以寫成極座標下的指數形式 r e pi 其中r是複數模,p是輻角,i是虛數單位...

PAT乙級 1051 複數乘法 15

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

PAT乙級1051 複數乘法 15

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