PTA 1051 复数乘法(详解+代码)

解析:A+Bi=RcosP+R*isinP

  • a+bi 和 c+di

  • 加法:(a+c) + (b+d)i

  • 减法:(a-c) + (b-d)i

  • 乘法:(ac-bd) + (bc+ad)i

  • 除法:(ac+bd)/(cc+dd) + (bc+ad)/(cc+dd)i
    这题我就懵了,复数已经忘光了,没想到居然会考到,在这里复习一下,还需要注意的一个点就是输出之前要判断一下,a和b是否小于0.01如果小于直接将a和b的值改变为0;

public class Pta_1051 {
    public static void main(String[] args) throws IOException {
        BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
        String[] split = buf.readLine().split("\\s");
        double R1= Double.parseDouble(split[0]);
        double P1= Double.parseDouble(split[1]);
        double R2= Double.parseDouble(split[2]);
        double P2= Double.parseDouble(split[3]);
        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) {
            A = 0;
        }
        if (Math.abs(B) < 0.01) {
            B = 0;
        }

        System.out.println(A);
        System.out.println(B);
        System.out.printf("%.2f%+.2fi\n", A, B);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值