PAT Basic 1051 复数乘法 (15 分)

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

现给定两个复数的 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
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    double a,ai,b,bi;
    cin>>a>>ai>>b>>bi;
    double val=a*b*cos(ai+bi);
    double vali=a*b*sin(ai+bi);
    if(fabs(val)<0.01) val=0;
    if(fabs(vali)<0.01) vali=0;
    printf("%.2f",val);
    if(vali>=0) cout<<"+";
    printf("%.2fi",vali);
    system("pause");
    return 0;
}

原文地址:https://www.cnblogs.com/littlepage/p/11410299.html

时间: 2024-11-07 05:08:22

PAT Basic 1051 复数乘法 (15 分)的相关文章

1051 复数乘法 (15 分)

题目: 思路: 调用math函数库即可计算.另外需要注意若实部和虚部小于0.005且为负数时保留两位小数得到的是-0.00,直接上会wrong answer,所以需要将保留两位小数得到的结果为0的数去符号. 代码: 1 #include <iostream> 2 #include <cmath> 3 using namespace std; 4 5 int main() 6 { 7 double r1, r2, p1, p2; 8 cin >> r1 >>

1051 复数乘法 (15分)

复数可以写成 ( 的常规形式,其中 A 是实部,B 是虚部,i 是虚数单位,满足 1:也可以写成极坐标下的指数形式 (,其中 R 是复数模,P 是辐角,i 是虚数单位,其等价于三角形式 (. 现给定两个复数的 R 和 P,要求输出两数乘积的常规形式. 输入格式: 输入在一行中依次给出两个复数的 R?1??, P?1??, R?2??, P?2??,数字间以空格分隔. 输出格式: 在一行中按照 A+Bi 的格式输出两数乘积的常规形式,实部和虚部均保留 2 位小数.注意:如果 B 是负数,则应该写成

1051. 复数乘法 (15)

1051. 复数乘法 (15) 复数可以写成(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"的格式输出两数乘积的常规形式,

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,要求输出两数乘积的常规形式. 输入格式: 输入在一行中依次给出两

PAT 1051. 复数乘法 (15)

复数可以写成(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位小数.注意:

PAT Basic 1062 最简分数 (20 分)

一个分数一般写成两个整数相除的形式:/,其中 M 不为0.最简分数是指分子和分母没有公约数的分数表示形式. 现给定两个不相等的正分数 / 和 /,要求你按从小到大的顺序列出它们之间分母为 K 的最简分数. 输入格式: 输入在一行中按 / 的格式给出两个正分数,随后是一个正整数分母 K,其间以空格分隔.题目保证给出的所有整数都不超过 1000. 输出格式: 在一行中按 / 的格式列出两个给定分数之间分母为 K 的所有最简分数,按从小到大的顺序,其间以 1 个空格分隔.行首尾不得有多余空格.题目保证

PAT Basic 1064 朋友数 (20 分)

如果两个整数各位数字的和是一样的,则被称为是“朋友数”,而那个公共的和就是它们的“朋友证号”.例如 123 和 51 就是朋友数,因为 1+2+3 = 5+1 = 6,而 6 就是它们的朋友证号.给定一些整数,要求你统计一下它们中有多少个不同的朋友证号. 输入格式: 输入第一行给出正整数 N.随后一行给出 N 个正整数,数字间以空格分隔.题目保证所有数字小于 1. 输出格式: 首先第一行输出给定数字中不同的朋友证号的个数:随后一行按递增顺序输出这些朋友证号,数字间隔一个空格,且行末不得有多余空格

PAT Basic 1055 集体照 (25 分)

拍集体照时队形很重要,这里对给定的 N 个人 K 排的队形设计排队规则如下: 每排人数为 /(向下取整),多出来的人全部站在最后一排: 后排所有人的个子都不比前排任何人矮: 每排中最高者站中间(中间位置为 /,其中 m 为该排人数,除法向下取整): 每排其他人以中间人为轴,按身高非增序,先右后左交替入队站在中间人的两侧(例如5人身高为190.188.186.175.170,则队形为175.188.190.186.170.这里假设你面对拍照者,所以你的左边是中间人的右边): 若多人身高相同,则按名

PAT Basic 1045 快速排序 (25 分)

著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边. 给定划分后的 N 个互不相同的正整数的排列,请问有多少个元素可能是划分前选取的主元? 例如给定 $N = 5$, 排列是1.3.2.4.5.则: 1 的左边没有元素,右边的元素都比它大,所以它可能是主元: 尽管 3 的左边元素都比它小,但其右边的 2 比它小,所以它不能是主元: 尽管 2 的右边元素都比它大,但其左边的 3 比它大,所以它不能是主