1051 复数乘法java答案

不念不忘少年蓝@ 2022-02-19 16:17 306阅读 0赞

这道题需要注意的就是如果整数和模部分小于0.01,那么即使他们是负数,答案应该是0+0i而不是-0-0i

  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. public class Main{
  5. public static void main(String[] args) throws NumberFormatException, IOException{
  6. BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  7. String[] datas=br.readLine().split(" ");
  8. double R1=Double.parseDouble(datas[0]),P1=Double.parseDouble(datas[1]),R2=Double.parseDouble(datas[2]),P2=Double.parseDouble(datas[3]);
  9. double a=0,b=0,c=0,d=0;//分别为数1的整数和模部分,数2的整数和模部分
  10. a=Math.cos(P1)*R1;
  11. b=Math.sin(P1)*R1;
  12. c=Math.cos(P2)*R2;
  13. d=Math.sin(P2)*R2;
  14. double integer=0,model=0;//结果的整数部分和模部分
  15. integer=a*c-b*d;
  16. model=b*c+a*d;
  17. if(Math.abs(integer)<0.01) {
  18. integer=0;
  19. }
  20. if(Math.abs(model)<0.01) {
  21. model=0;
  22. }
  23. if(model>=0) {
  24. System.out.printf("%.2f%+.2fi", integer,model);
  25. }else {
  26. System.out.printf("%.2f%.2fi", integer,model);
  27. }
  28. }
  29. }

发表评论

表情:
评论列表 (有 0 条评论,306人围观)

还没有评论,来说两句吧...

相关阅读

    相关 1051 复数乘法JAVA

    复数可以写成 (A+Bi) 的常规形式,其中 A 是实部,B 是虚部,i 是虚数单位,满足 i2=−1;也可以写成极坐标下的指数形式 (R×e(Pi)),其中 R 是复数模,P

    相关 PAT-1051 复数乘法 (15 分)

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

    相关 1051 复数乘法(C#)

    一、题目内容如下: 复数可以写成 ( 的常规形式,其中 A 是实部,B 是虚部,i 是虚数单位,满足 1;也可以写成极坐标下的指数形式 (,其中 R 是复数模,P 是辐角