原题链接:PTA | 程序设计类实验辅助教学平台
参考资料:
1051 复数乘法 (15 分)——测试点2,3分析_复数极坐标下的指数形式-CSDN博客
Tips:以下Python代码仅个人理解,非最优算法,仅供参考!多学习其他大佬的AC代码!
import math
# 输入
R1, P1, R2, P2 = map(float, input().split())
# 计算乘积的极坐标形式
R = R1 * R2
P = P1 + P2
# 转换为常规形式
A = R * math.cos(P)
B = R * math.sin(P)
#不可以输出0.0(测试点2,3)
A = 0 if A > -0.005 and A < 0 else A
B = 0 if B > -0.005 and B < 0 else B
# 输出结果,注意虚部为负时的格式
print(f"{A:.2f}{'-' if B < 0 else '+'}{abs(B):.2f}i")