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

  • 相关阅读:
    钱多多软件制作04
    团队项目01应用场景
    HDU 4411 arrest
    HDU 4406 GPA
    HDU 3315 My Brute
    HDU 3667 Transportation
    HDU 2676 Matrix
    欧拉回路三水题 POJ 1041 POJ 2230 POJ 1386
    SPOJ 371 BOXES
    POJ 3422 Kaka's Matrix Travels
  • 原文地址:https://www.cnblogs.com/chiweiming/p/10424576.html
Copyright © 2011-2022 走看看