文章目录
1.题目如下
- 1.题目如下
- 2.代码实例
- 3.结果如下
- 4.代码讲解
- 5.详细讲解文件输出
设i为虚数单位。对于任意正整数n,(2+3i)^n 的实部和虚部都是整数。 求(2+3i)^123456 等于多少?即(2+3i)的123456次幂,这个数字很大,要求精确表示。 答案写成 “实部±虚部i” 的形式,实部和虚部都是整数(不能用科学计数法表示),中间任何地方都不加空格,实部为正时前面不加正号。(2+3i)^2 写成: -5+12i, (2+3i)^5 的写成: 122-597i 注意:需要提交的是一个很庞大的复数,不要填写任何多余内容。
规定复数的乘法按照以下的法则进行: 设z1=a+bi,z2=c+di(a、b、c、d∈R)是任意两个复数,那么它们的积(a+bi)(c+di)=(ac-bd)+(bc+ad)i。
考点:
大数类,文件输出
2.代码实例import java.io.*;
import java.math.BigInteger;
public class Main {
public static void main(String[] args) throws FileNotFoundException {
PrintStream ps=new PrintStream(new FileOutputStream("C:\\MyEclipse\\file\\ppp.txt"));
System.setOut(ps); //文件输出
int n=123456;
BigInteger a=new BigInteger("2");
BigInteger b=new BigInteger("3");
BigInteger a1=new BigInteger("2");
BigInteger b1=new BigInteger("3");
for(int i=1;i0?"+":"")+b+"i");
}
3.结果如下
因为myeclipse控制台会炸的,所以要以文件的形式输出 一共135k的文件就对了,剩下的请读者们按照代码自己打一下
- PrintStream ps=new PrintStream(new FileOutputStream(“C:\MyEclipse\file\ppp.txt”)); 黄色标记的部分是你想要输出到哪个文件的目录下,
- b.compareTo(BigInteger.ZERO)>0这句代码的意思是:b是否大于0
- (b.compareTo(BigInteger.ZERO)>0?"+":"")+b:如果大于零b的前面就添加一个加号,否则b的前面就为空 如果不写这一行代码的话,当n的值等于2的时候,输出结果为:-512i而不是-5+12i 它的作用是,当一个数是整数时要加加号
方法一:
这两行代码方可解决 PrintStream ps=new PrintStream(new FileOutputStream(“C:\MyEclipse\file\wlllrk.txt”)); System.setOut(ps); //文件输出
方法二: 1.在你想要运行的程序上右键–> Run As --> Run Configurations 2.选择Common窗口,设置文件保存路径,以及是否以追加方式保存console输出到文件。