zoukankan      html  css  js  c++  java
  • 复数幂


    标题:复数幂

    设i为虚数单位。对于任意正整数n,(2+3i)^n 的实部和虚部都是整数。
    求 (2+3i)^123456 等于多少? 即(2+3i)的123456次幂,这个数字很大,要求精确表示。

    答案写成 "实部±虚部i" 的形式,实部和虚部都是整数(不能用科学计数法表示),中间任何地方都不加空格,实部为正时前面不加正号。(2+3i)^2 写成: -5+12i,
    (2+3i)^5 的写成: 122-597i


    注意:需要提交的是一个很庞大的复数,不要填写任何多余内容。

    解题思路:

    有公式:

    (A+Bi)(a+bi)

    =Aa+Abi+aBi-Bb

    =(Aa-Bb)+(Ab+aB)i

    令A=(Aa-Bb),B=(Ab+aB),继续迭代和2+3i相乘,一共迭代123455次即可。

    import java.util.Scanner;
    
    public class Test {
    
        public static void main(String[] args) {
            long A=2;
            long B=3;
            long a=2;
            long b=3;
            for(int i=1;i<123456;i++){
                long newA=A*a-B*b;
                long newB=A*b+a*B;
                A=newA;
                B=newB;
            }
            System.out.print(A);
            if(B>0){
                System.out.print("+"+B+"i");
            }else if(B==0){
            }else{
                System.out.print(B+"i");
            }
        }
    
    }

    答案:4043220979119144065-7374402350132176768i

    22:21:00

    2019-02-23

  • 相关阅读:
    Servlet 规范 简介
    Redis简介
    some tips
    初识Servlet
    JVM基础知识
    使用typora编辑博客
    航海が始まる日
    比较好的IT教程网
    vue 使用心得---工作中一些关键点
    Vue父组件主动获取子组件的数据和方法
  • 原文地址:https://www.cnblogs.com/chiweiming/p/10424576.html
Copyright © 2011-2022 走看看