zoukankan      html  css  js  c++  java
  • 算法训练 P1103

    复数运算规则:

    乘法法则规则:

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

    设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
  • 相关阅读:
    [Vijos] 天才的记忆
    [Vijos] 河蟹王国
    [Vijos] SuperBrother打鼹鼠
    [Vijos] 弱弱的战壕
    [洛谷P3792] 由乃与大母神原型和偶像崇拜
    【模板】乘法逆元
    [USACO13NOV]空荡荡的摊位Empty Stalls
    [USACO08OPEN]牛的车Cow Cars
    [SCOI2005]扫雷
    [USACO16OPEN]关闭农场Closing the Farm_Silver
  • 原文地址:https://www.cnblogs.com/WDKER/p/5191490.html
Copyright © 2011-2022 走看看