zoukankan      html  css  js  c++  java
  • PAT-乙级-1051. 复数乘法 (15)

    1051. 复数乘法 (15)

    时间限制
    400 ms
    内存限制
    65536 kB
    代码长度限制
    8000 B
    判题程序
    Standard
    作者
    CHEN, Yue

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

    现给定两个复数的R和P,要求输出两数乘积的常规形式。

    输入格式:

    输入在一行中依次给出两个复数的R1, P1, R2, P2,数字间以空格分隔。

    输出格式:

    在一行中按照“A+Bi”的格式输出两数乘积的常规形式,实部和虚部均保留2位小数。注意:如果B是负数,则应该写成“A-|B|i”的形式。

    输入样例:
    2.3 3.5 5.2 0.4
    
    输出样例:
    -8.68-8.23i
     1 #include<bits/stdc++.h>
     2 #include<cmath> 
     3 using namespace std;
     4 int main(){
     5     double r1,r2,p1,p2,a,b;
     6     cin>>r1>>p1>>r2>>p2;
     7     a=r1*r2*cos(p1+p2);
     8     b=r1*r2*sin(p1+p2);
     9     int aa=1,bb=1;
    10     if(fabs(a)<0.01) aa=0;
    11     if(fabs(b)<0.01) bb=0;
    12     if(aa==0&&bb==0)
    13     cout<<0<<endl;
    14     if(aa==0&&bb!=0)
    15     printf("0.00%+.2fi",b);
    16     else if(aa!=0&&bb==0)
    17     printf("%.2f+0.00i",a);
    18     else
    19     printf("%.2f%+.2fi",a,b);
    20     return 0;
    21 }
  • 相关阅读:
    POJ 1795 DNA Laboratory
    CodeForces 303B Rectangle Puzzle II
    HDU 2197 本源串
    HDU 5965 扫雷
    POJ 3099 Go Go Gorelians
    CodeForces 762D Maximum path
    CodeForces 731C Socks
    HDU 1231 最大连续子序列
    HDU 5650 so easy
    大话接口隐私与安全 转载
  • 原文地址:https://www.cnblogs.com/zhien-aa/p/5671122.html
Copyright © 2011-2022 走看看