美文网首页
2019-03-21 蓝桥杯第九届 java 复数冥

2019-03-21 蓝桥杯第九届 java 复数冥

作者: Daniel梁 | 来源:发表于2019-03-21 19:17 被阅读0次

标题:复数幂
设i为虚数单位。对于任意正整数n,(2+3i)^n 的实部和虚部都是整数。
求 (2+3i)^123456 等于多少? 即(2+3i)的123456次幂,这个数字很大,要求精确表示。
答案写成 "实部±虚部i" 的形式,实部和虚部都是整数(不能用科学计数法表示),中间任何地方都不加空格,实部为正时前面不加正号。(2+3i)^2 写成: -5+12i,
(2+3i)^5 的写成: 122-597i

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

思路:首先这题要知道一个公式

(a+bi)*(c+di) = ac + adi + cbi + bdi^2 = (ac-bd) + adi + cbi 即i的平方变成-1 按照复数冥的公式得出只有i的式子

(2-3i)^2 = 4 - 9 + 2(2x3xi) = -5 * 12i 这也是为什么题目会得出这样的数的原因

使用long就可以做出来,使用bigInteger会有正负号判断,过于繁琐

下面就是通过得出的long3 + long4i 再与原来的(2 + 3i)无限运算得出最终答案

long3为答案实部 而long4为虚部
答案 4043220979119144065-7374402350132176768i
#### 可以用excel做哦这题 比如在B2输入(2+3*i) 在B3插入power函数,(B2 ,123456 ) 然后B3就会得到答案


public class Solution {
    public static void main(String[] args) {


    Scanner scanner = new Scanner(System.in);

    Long long1 = Long.valueOf(2);

    Long long2 = Long.valueOf(3);

    Long long3 = Long.valueOf(2);

    Long long4 = Long.valueOf(3);

    Long real = Long.valueOf(1);

        for (int i = 2; i < 123457; i++) {
        //实部
        real = long1*long3;
        //i
        Long fake1 = long1*long4;
        //i
        Long fake2 = long2*long3;
        //i^2
        Long fake3 = long2*long4;

        long3 = real - fake3;

        //(a+bi)*(c+di) = ac + adi + cbi + bdi^2 = (ac-bd) + adi + cbi  即i的平方变成-1 按照复数冥的公式得出只有i的式子
            // (2-3i)^2 = 4 - 9 + 2(2*3*i) = -5 * 12i
            long4 = fake1 + fake2;
        }

            System.out.print(long3);

        if (long4<0)
            System.out.print(long4+"i");
        else
            System.out.print("+"+long4+"i");
}

}

相关文章

  • 2019-03-21 蓝桥杯第九届 java 复数冥

    标题:复数幂设i为虚数单位。对于任意正整数n,(2+3i)^n 的实部和虚部都是整数。求 (2+3i)^12345...

  • java蓝桥杯

    核桃的数量小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据...

  • [蓝桥杯]链表数据求和操作

    问题 1585: [蓝桥杯][算法训练VIP]链表数据求和操作 题目描述 读入10个复数,建立对应链表,然后求所有...

  • 蓝桥杯JAVA练习

    入门训练 1.斐波那契数列 题目:输出一行,包含一个整数,表示Fn除以10007的余数。关键:mod运算运用(a×...

  • [蓝桥杯]递增三元组

    问题 2194: [蓝桥杯][2018年第九届真题]递增三元组 题目描述 给定三个整数数组A = [A1, A2,...

  • 第九届蓝桥杯_螺旋折线

    该题为数学问题,值得注意的是状态要考虑仔细,由其在比赛过程中,时间很重要,不要操之过急;仔细,认真又不呆滞是最好的...

  • 第九届蓝桥杯_方格计数

    标题:方格计数 如图p1.png所示,在二维平面上有无数个1x1的小方格。 我们以某个小方格的一个顶点为圆心画一个...

  • 蓝桥杯练习2(十进制转十六进制)

    原创 首先学习一下C语言中的用法。 CSDN博客库函数bitset原文OK,看第九届蓝桥杯填空题第二题 标题:明码...

  • 蓝桥杯——Java(基础练习)

    本文属xxKarina原创,转载请注明个人博客地址:https://xxkarina.github.io/ 最近有...

  • 蓝桥杯——Java基础(进制)

    本文属xxKarina原创,转载请注明个人博客地址:https://xxkarina.github.io/ 在前面...

网友评论

      本文标题:2019-03-21 蓝桥杯第九届 java 复数冥

      本文链接:https://www.haomeiwen.com/subject/bezcvqtx.html