码迷,mamicode.com
首页 > 编程语言 > 详细

算法训练 P1103

时间:2016-02-15 23:51:18      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:

复数运算规则:

乘法法则规则:

规定复数的乘法按照以下的法则进行:

设z1=a+bi,z2=c+di(a、b、c、d∈R)是任意两个复数,那么它们的积(a+bi)(c+di)=(ac-bd)+(bc+ad)i.

其实就是把两个复数相乘,类似两个多项式相乘,展开得:ac+adi+bci+bdi^2,因为i^2=-1,所以结果是(ac-bd)+(bc+ad)i。两个复数的积仍然是一个复数。

除法运算规则:

①设复数a+bi(a,b∈R),除以c+di(c,d∈R),其商为x+yi(x,y∈R),

即(a+bi)÷(c+di)=x+yi

∵(x+yi)(c+di)=(cx-dy)+(dx+cy)i.

∴(cx-dy)+(dx+cy)i=a+bi.

由复数相等定义可知cx-dy=adx+cy=b

解这个方程组,得x=(ac+bd)/(c^2+d^2)y=(bc-ad)/(c^2+d^2)

 

                                                             ----摘自百科

 

技术分享
 1 #include<iostream>
 2 #include<cstdio>
 3 using namespace std;
 4 int main()
 5 {
 6     char ch;
 7     double a,b,c,d;
 8     scanf("%c%lf%lf%lf%lf",&ch,&a,&b,&c,&d);
 9     if(ch==+)
10         printf("%.2lf+%.2lfi",a+c,b+d);
11     if(ch==-)
12         printf("%.2lf+%.2lfi",a-c,b-d);
13     if(ch==*)
14         printf("%.2lf+%.2lfi",a*c-b*d,a*d+b*c);
15     if(ch==/)
16         printf("%.2lf+%.2lfi",(a*c+b*d)/(c*c+d*d),(b*c-a*d)/(c*c+d*d));
17     return 0;
18 }
View Code

 

算法训练 P1103

标签:

原文地址:http://www.cnblogs.com/WDKER/p/5191490.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!