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 }
时间: 2024-10-16 17:25:48

PAT-乙级-1051. 复数乘法 (15)的相关文章

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 是负数,则应该写成

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)

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

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 是负数,则应该写成

PAT乙级15分题易错题总结

PAT乙级15分题易错题总结 B1026 程序运行时间 输入格式: 输入在一行中顺序给出 2 个整数 C1 和 C2.注意两次获得的时钟打点数肯定不相同,即 C1 < C2,并且取值在 [0,107]. 输出格式: 在一行中输出被测函数运行的时间.运行时间必须按照 hh:mm:ss(即2位的 时:分:秒)格式输出:不足 1 秒的时间四舍五入到秒. 输入样例: 123 4577973 输出样例: 12:42:59 易忽略细节 在计算时,未能正确四舍五入,除100以后余数只要不为零都进位1.//er

PAT 1051. 复数乘法

PAT 1051. 复数乘法 复数可以写成(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乙级1034. 有理数四则运算(20)

本题要求编写程序,计算2个有理数的和.差.积.商. 输入格式: 输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分母不为0. 输出格式: 分别在4行中按照“有理数1 运算符 有理数2 = 结果”的格式顺序输出2个有理数的和.差.积.商.注意输出的每个有理数必须是该有理数的最简形式“k a/b”,其中k是整数部分,a/b是最简分数部分:若为负数,则须加括号:若除法分母为0,则输出“Inf”.题目保证正确的输出中没

PAT 乙级 1045

题目 题目地址:PAT 乙级 1045 题解 本题的解法比较巧妙,刚开始的试着用暴力求解,果不其然时间超限-- 变换思路,既然对于每个元素来说满足的条件是前小后大,那么对数组排序,对应的位置相等的即为题设要求的"可能主元",但是还有一个条件要保证当前是从左向右遍历的最大值:总结一下两个条件:1. 排序后对应位置数字相等:2. 当前操作元素是从左向右遍历中的最大值 同时还要注意,当输入n值为0时,除了需要输出"可能主元"的个数之外,还需要保留换行符'\n' 代码 1