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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

立志用更少的代碼做更高效的表達


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


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

現給定兩個復數的 R 和 P,要求輸出兩數乘積的常規形式。

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

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

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


問題分析

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

注意:

1、當虛部為正數時,需要手動輸出+號

2、當實部或虛部為0時,需要輸出0.00。 因為題中要求我們保留兩位小數

3、還要考慮一種特殊情況, 如果輸入的數都是形如0.00001這樣的數, 計算的結果小于0.005時, 就可以判定為是0了(因為四舍五入后為0.00)。(后兩個測試點)

4、實數求絕對值要用fabs(),整數求絕對值使用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; }


每日一句

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。