首页 > 编程知识 正文

复数乘法,复数乘法的几何意义

时间:2023-05-05 15:15:10 阅读:254601 作者:3339

复数可以写成 (A+Bi) 的常规形式,其中 A 是实部,B 是虚部,i 是虚数单位,满足 i^​2​​ =−1;也可以写成极坐标下的指数形式 (R×e^​(Pi)​​ ),其中 R 是复数模,P 是辐角,i 是虚数单位,其等价于三角形式 R(cos (P )+isin(P ))。

现给定两个复数的 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

注意: 1、必须用double类型的变量
            2、 必须处理实部与虚部等于0的情况

按原公式一点一点算的代码:

#include<bits/stdc++.h>using namespace std;int main(){ double numa,numb,numc,numd; cin>>numa>>numb>>numc>>numd; double a = cos(numb)*numa; double b = sin(numb)*numa; double c = cos(numd)*numc; double d = sin(numd)*numc; double resa = a*c-b*d; double resb = a*d+c*b; if(fabs(resa) < 0.001) resa = 0; if(fabs(resb) < 0.001) resb = 0; if(resb>=0) printf("%.2f+%.2fi",resa,resb); else printf("%.2f%.2fi",resa,resb); return 0;} {a* [ cos(b) + sin(b) i]} * {c* [ cos(d) + sin(d) i]} = a* c * cos(b+d) + a * c * sin(b+d) i; 将公式转换一下再用的代码: #include<bits/stdc++.h>using namespace std;int main(){ double numa,numb,numc,numd; cin>>numa>>numb>>numc>>numd; double resa = numa*numc*cos(numb+numd); double resb = numa*numc*sin(numb+numd); if(fabs(resa) < 0.0001) resa = 0; if(fabs(resb) < 0.0001) resb = 0; if(resb>=0) printf("%.2f+%.2fi",resa,resb); else printf("%.2f%.2fi",resa,resb); return 0;}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。