zoukankan      html  css  js  c++  java
  • Java蓝桥杯 算法训练 复数归一化

    算法提高 复数归一化
    时间限制:1.0s 内存限制:512.0MB
    编写函数Normalize,将复数归一化,即若复数为a+bi,归一化结果为a/sqrt(aa+bb) + ib/sqrt(aa+b*b) 。使用结构体指针类型作为函数参数可能是必要的。其中实部和虚部由键盘输入,输出为归一化结果,如果归一化结果的实部或虚部为小数的要求保留一位小数。

    样例输入:(格式说明:3 4 分别为以空格隔开的实数的实部和虚部)
    3 4
    样例输出:
    0.6+0.8i
    样例输入:
    2 5
    样例输出:
    0.4+0.9i

    import java.math.BigDecimal;
    import java.util.Scanner;
    
    
    public class 复数归一化 {
    
    
    		public static void main(String[] args) {
    			Scanner sc = new Scanner(System.in);
    			int a = sc.nextInt();
    			int b = sc.nextInt();
    			Normalize(a,b);
    		}
    
    		private static void Normalize(int a, int b) {
    			// 编写Normalize公式计算结果
    			double left = a/Math.sqrt(a*a+b*b);//加号左边
    			double right = b/Math.sqrt(a*a+b*b);//加号右边
    			//对左右两个结果四舍五入处理后输出
    			System.out.println(new BigDecimal(left).setScale(1, BigDecimal.ROUND_HALF_UP)+"+"+new BigDecimal(right).setScale(1, BigDecimal.ROUND_HALF_UP)+"i");
    		}
    		
    
    }
    
    
  • 相关阅读:
    “echo >”和“echo >>”的区别
    socket 简介
    Shell 获取当前执行脚本的路径
    input子系统 KeyPad-Touch上报数据格式与机制
    Java垃圾回收-GC
    Java多线程-yield函数&interrupt函数
    Java内存模型-堆和栈的区别
    Java反射
    Java正则表达式
    Java多线程-sleep和wait的区别
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13078862.html
Copyright © 2011-2022 走看看