日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【最详细】测试点分析_1051 复数乘法 (15分)_14行代码AC

發(fā)布時間:2024/2/28 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【最详细】测试点分析_1051 复数乘法 (15分)_14行代码AC 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

立志用更少的代碼做更高效的表達(dá)


Pat乙級最優(yōu)化代碼+題解+分析匯總——>傳送門


復(fù)數(shù)可以寫成 (A+Bi) 的常規(guī)形式,其中 A 是實(shí)部,B 是虛部,i 是虛數(shù)單位,滿足 i2=?1i^2=?1i2=?1;也可以寫成極坐標(biāo)下的指數(shù)形式 (R×e?(Pi))(R×e^?(Pi))(R×e?(Pi)),其中 R 是復(fù)數(shù)模,P 是輻角,i 是虛數(shù)單位,其等價于三角形式 R(cos(P)+isin(P))R(cos(P)+isin(P))R(cos(P)+isin(P))

現(xiàn)給定兩個復(fù)數(shù)的 R 和 P,要求輸出兩數(shù)乘積的常規(guī)形式。

輸入格式:
輸入在一行中依次給出兩個復(fù)數(shù)的 R?1 , P?1 , R?2, P2,數(shù)字間以空格分隔。

輸出格式:
在一行中按照 A+Bi 的格式輸出兩數(shù)乘積的常規(guī)形式,實(shí)部和虛部均保留 2 位小數(shù)。注意:如果 B 是負(fù)數(shù),則應(yīng)該寫成 A-|B|i 的形式。

輸入樣例:
2.3 3.5 5.2 0.4
輸出樣例:
-8.68-8.23i


問題分析

輸入P和R后, 我們就可以根據(jù)公式R(cos(P)+isin(P))R(cos(P)+isin(P))R(cos(P)+isin(P))得出形如a+bia+bia+bi的值, 最后相乘即可。

注意:

1、當(dāng)虛部為正數(shù)時,需要手動輸出+號

2、當(dāng)實(shí)部或虛部為0時,需要輸出0.00。 因?yàn)轭}中要求我們保留兩位小數(shù)

3、還要考慮一種特殊情況, 如果輸入的數(shù)都是形如0.00001這樣的數(shù), 計(jì)算的結(jié)果小于0.005時, 就可以判定為是0了(因?yàn)樗纳嵛迦牒鬄?.00)。(后兩個測試點(diǎn))

4、實(shí)數(shù)求絕對值要用fabs(),整數(shù)求絕對值使用abs()


#include<bits/stdc++.h> using namespace std; int main() {double r1, p1, r2, p2;cin >> r1 >> p1 >> r2 >> p2;double shi = r1*r2*cos(p1)*cos(p2)-r1*r2*sin(p1)*sin(p2);double xv = r1*r2*cos(p1)*sin(p2)+r1*r2*sin(p1)*cos(p2);if(fabs(shi) < 0.005) printf("0.00");else printf("%.2lf", shi);if(fabs(xv) < 0.005) printf("+0.00i\n");else if(xv < 0) printf("%.2lfi\n", xv);else printf("+%.2lfi\n", xv);return 0; }


每日一句

每一個不曾起舞的日子,都是對生命的辜負(fù)

總結(jié)

以上是生活随笔為你收集整理的【最详细】测试点分析_1051 复数乘法 (15分)_14行代码AC的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。