负数乘法java

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

现给定两个复数的 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
import java.util.Scanner;
public class Main{public static void main(String[] args){Scanner input = new Scanner(System.in);double R1 = input.nextDouble();double P1 = input.nextDouble();double R2 = input.nextDouble();double P2 = input.nextDouble();input.close();double A1=R1*(Math.cos(P1));double A2=R2*(Math.cos(P2));double B1=R1*(Math.sin(P1));double B2=R2*(Math.sin(P2));double A=A1*A2-B1*B2;double B=A2*B1+B2*A1;if (Math.abs(A) <= 0.01) {// abs()返回值返回指定数字的绝对值,如果指定的数字为负,则返回正值System.out.print("0.00");}else{System.out.printf("%.2f",A);//输出两位小数的A}if(B>0) {System.out.printf("+%.2fi",B);//输出的B前面带—}else if(Math.abs(B)<=0.001){System.out.print("+0.00i");}else {System.out.printf("%.2fi",B);}}
}
// 解析:A+Bi=RcosP+R*isinP// a+bi 和 c+di// 乘法:(ac-bd) + (bc+ad)i

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部