【蓝桥杯java】复数幂

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

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

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


在写这道题时,我们必须要认真,认真,认真 读题,注意这个要注意的地方,提交的是一个很庞大的复数。本来我认为long型的就行了,结果long型的完全不够用,结果确实让人有点无语,看来我还是太天真。


咱们首先看一下用long计算得到的结果
【代码】(这是个用long示例的代码)

import java.util.Scanner;
public class Main {
    
    

	public static void main(String[] args) throws FileNotFoundException {
    
    
//		//定义一个实部,定义一个虚部
		long shi=2;
		long xu=3;
		
		//实部为每次实部*2-虚部*3
		//虚部为实部*3+虚部*2
		Scanner scanner=new Scanner(System.in);
		int parm=scanner.nextInt();
		for (int i = 1; i < parm; i++) {
    
    
			long shiRes=shi*2-xu*3;
			xu=shi*3+xu*2;
			shi=shiRes;
		}
		System.out.println(shi+" "+(xu<0?"":"+")+xu+"i");
	}
}

答案为:4043220979119144065 -7374402350132176768i
是不感觉挺大的?no no no 这是因为long型的最大范围就是这,不能在超了,这对于大数据来说是很小的一个数


我们在来看正确的数据
【代码】

package 第九届蓝桥杯省赛javaB组.java;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.math.BigInteger;
import java.util.Scanner;

public class Main{
    
    

	public static void main(String[] args) throws FileNotFoundException {
    
    
		BigInteger shi=	BigInteger.valueOf(2);
		BigInteger xu=	BigInteger.valueOf(3);
		BigInteger two=BigInteger.valueOf(2);
		BigInteger three=BigInteger.valueOf(3);

		BigInteger shiRes=null;
		BigInteger xuResxu=null;
		
		Scanner scanner=new Scanner(System.in);
		int parm=scanner.nextInt();
		for (int i = 1; i < parm; i++) {
    
    
			 shiRes=shi.multiply(two).subtract(xu.multiply(three));
			 xuResxu=shi.multiply(three).add(xu.multiply(two));
			shi=shiRes;
			xu=xuResxu;
		}
		System.setOut(new PrintStream(new File("E:\\out3.txt")));
		System.out.println(shiRes+""+(xuResxu.compareTo(BigInteger.ZERO)<0?"":"+")+xuResxu+"i");
	}
}

因为 java 里面有封装的bigInteger,所以直接调用,然后看下api就行
答案:在这里插入图片描述
这只是一部分…
所以,真的是没法比较,然后13分就没了
这道题主要是考大数据问题,所以,在以后做题的时候,切记要,读题读题在读题!!!

猜你喜欢

转载自blog.csdn.net/Black_Customer/article/details/109068873
今日推荐