蓝桥杯复习,将内容写入文件 复数幂 蓝桥杯 Java

该代码示例展示了如何使用BigInteger类处理大整数运算,特别是在蓝桥杯竞赛中的复数幂问题。程序实现了将计算结果输出到D盘的123.txt文件中,避免了控制台输出限制。主要方法method通过递归实现了复数幂的计算,同时兼顾了偶数次幂和奇数次幂的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

蓝桥杯的一部分填空题的数字需要使用BigInteger来表示而且这个数字特别大
在控制台上不能输出时,这时我们可以输出到文件中,

以2018年的省赛真题复数幂为例讲解 通过测试的哈,这个代码是一定满分的

单独的输出讲解在最后面


package readlBlue2018;

import java.io.FileWriter;
import java.io.IOException;
import java.math.BigInteger;

/**
 * 	复数幂
 * @author 楠
 *
 */
public class Demo03 {

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		
		
		BigInteger a=new BigInteger("2");
		BigInteger b=new BigInteger("3");
		int c=123456;
		method(a, b, c);
		BigInteger temp=new BigInteger("0");
		System.out.print(shi);
		FileWriter fileWriter=new FileWriter("D:\\123.txt");
		fileWriter.write(shi.toString());
		fileWriter.write("\n");
		fileWriter.write(xu.toString());
		fileWriter.flush();
		fileWriter.close();
//		if(xu.compareTo(temp)==1) {//虚部是正数
//			System.out.print("+"+xu+"i");
//		}else {//虚部是负数
//			System.out.print(xu+"i");
//		}
		
	}
	
	static BigInteger shi=new BigInteger("1"); 
	static BigInteger xu=new BigInteger("1");
	public static void method(BigInteger a,BigInteger b,int c) {
		
		if(c<1) {
			return;
		}
		if(c==1) {
			shi=a;
			xu=b;
			return;
		}		
		if(c%2==0) {//偶数
			BigInteger temp=new BigInteger("2");
			shi=a.multiply(a).subtract(b.multiply(b));
			xu=a.multiply(b).multiply(temp);		
			method(shi, xu, c/2);			
		}else {
			method(a, b, c-1);
			BigInteger temp=shi;
			shi=shi.multiply(a).subtract(xu.multiply(b));
			xu=xu.multiply(a).add(b.multiply(temp));
			
		}
		
	}
	
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值