https://pintia.cn/problem-sets/994805260223102976/problems/994805274496319488

复数可以写成(A + Bi)的常规形式,其中A是实部,B是虚部,i是虚数单位,满足i^2^ = -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

代码:
#include <bits/stdc++.h>

using namespace std;

float eps = 1e-8;

int main()
{
float R1,P1,R2,P2;
scanf("%f %f %f %f",&R1,&P1,&R2,&P2);
float a1=0,a2=0,b1=0,b2=0;
float A=0,B=0;
a1=cos(P1)*R1;
a2=cos(P2)*R2;
b1=sin(P1)*R1;
b2=sin(P2)*R2;
A=a1*a2-b1*b2;
B=a1*b2+a2*b1; if(fabs(A) < eps && A >0) {
if(B < 0) {
// if(fabs(B) < 0.5) while(1) {}
printf("0.00-%.2fi\n", fabs(B) - 0.01);
}
else printf("0.00+%.2fi\n", B);
return 0;
} if(B < 0) {
printf("%.2f-%.2fi\n",A,fabs(B));
}
else
printf("%.2f+%.2fi\n",A,B);
return 0;
}

  

PAT 1051 复数乘法的更多相关文章

  1. PAT 1051 复数乘法(15 )(代码+思路)

    1051 复数乘法(15 分) 复数可以写成 (A+Bi) 的常规形式,其中 A 是实部,B 是虚部,i 是虚数单位,满足 i​2​​=−1:也可以写成极坐标下的指数形式 (R×e​(Pi)​​),其 ...

  2. PAT——1051. 复数乘法

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

  3. PAT 1051. 复数乘法 (15)

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

  4. PAT(B) 1051 复数乘法(Java)

    题目链接:1051 复数乘法 (15 point(s)) 参考博客:1051 复数乘法(PAT 乙级 C++实现)-guangjinzheng 题目描述 复数可以写成 (A+Bi) 的常规形式,其中 ...

  5. PAT 乙级 1051 复数乘法 (15) C++版

    1051. 复数乘法 (15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 复数可以写成(A + Bi)的常规 ...

  6. PAT-乙级-1051. 复数乘法 (15)

    1051. 复数乘法 (15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 复数可以写成(A + Bi)的常规 ...

  7. PAT Basic 1051 复数乘法 (15 分)

    复数可以写成 ( 的常规形式,其中 A 是实部,B 是虚部,i 是虚数单位,满足 1:也可以写成极坐标下的指数形式 (,其中 R 是复数模,P 是辐角,i 是虚数单位,其等价于三角形式 (. 现给定两 ...

  8. PAT 1051 Pop Sequence[栈][难]

    1051 Pop Sequence (25 分) Given a stack which can keep M numbers at most. Push N numbers in the order ...

  9. PAT 1051 Pop Sequence

    #include <cstdio> #include <cstdlib> #include <vector> using namespace std; bool p ...

随机推荐

  1. PyQt5 笔记(03):弹出窗口大全

    本文实现了PyQt5个各种弹出窗口:输入框.消息框.文件对话框.颜色对话框.字体对话框.自定义对话框 其中,为了实现自定义对话框的返回值,使用了信号/槽 本文基于 windows 7 + python ...

  2. 4 CRM-权限管理rbac、github代码

    1.引入权限组件rbac 1.settings配置app.中间件 INSTALLED_APPS = [ ... ... 'crm.apps.CrmConfig', "stark.apps.S ...

  3. JAVAWEB servlet验证登录时进行完全的非空判断防止空值登录

    如果不进行完全的非空判断,那么对 "" 这种类型的空值就会导致直接登录 所以需要用下面的字符串处理方法对其进行判断 这样就可以防止空值登录了 容易出现的混淆错误: 这里的空值登录容 ...

  4. ModelForm解密

     一.复用model表和字段 models.py文件 class User(models.Model): username = models.CharField(max_length=32) emai ...

  5. $.post(url,[data],[callback],'json')

    $.post(url,[data],[callback],'json')这个写法来做到用post方法传递数据,并取加回json型数据.如果我要取回的数据类型是xml的,就可以写成$.post(url, ...

  6. 琴声不等式--jensen

    (来自百度百科) 1. 凹函数,不加权 2. 凹函数,加权 3. 凸函数,不加权 4. 凸函数,加权 应用 在EM算法Q函数的推导中,用到了第二个不等式(凹函数,加权)

  7. webbrowser 模块的 open()方法

    webbrowser 模块的 open()函数可以启动一个新浏览器,打开指定的 URL.在交 互式环境中输入以下代码: >>> import webbrowser >>& ...

  8. 机器学习基础 --- numpy的基本使用

    一.numpy的简介 numpy是Python的一种开源的数值计算扩展库.这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该 ...

  9. IPC_Binder_java_1

    title: IPC_Binder_java_1 date: 2017-01-03 21:30:55 tags: [IPC,Binder] categories: [Mobile,Android] - ...

  10. mongodb基本使用(一)

    1.启动.停止和重启mongodb服务 brew services start mongodb  ---启动 brew services stop mongodb --停止 brew services ...