题目
设i为虚数单位。对于任意正整数n,(2+3i)^n 的实部和虚部都是整数。
求 (2+3i)^123456 等于多少? 即(2+3i)的123456次幂,这个数字很大,要求精确表示。
过程
首先要知到复数的计算公式:设z1=a+bi,z2=c+di(a、b、c、d∈R)是任意两个复数,那么它们的积(a+bi)(c+di)=(ac-bd)+(bc+ad)i。利用这个关系,用BigInterger去计算接收结果(因为尝试long型不可以),再用一个while循环即可,记得保留一个初始的变量不变,一直相乘.
代码
代码如下(示例):
import java.math.BigInteger;
/*
* 设i为虚数单位。对于任意正整数n,(2+3i)^n 的实部和虚部都是整数。
* 求 (2+3i)^123456 等于多少? 即(2+3i)的123456次幂,这个数字很大,要求精确表示。
* */
public class FuShu {
public static void main(String[] args) {