package shengsai09th;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.math.BigInteger;
/********************************************************************************************************************************
* 新面孔:throws FileNotFoundException
* BigInteger a = BigInteger.valueOf(2);
* BigInteger A = a.multiply(c).subtract(b.multiply(d));
* BigInteger B = a.multiply(d).add(b.multiply(c));
* PrintStream ps = new PrintStream(new File("C:\\Users\\Administrator\\Desktop\\abcd.txt"));//默认在项目的路径
* System.setOut(ps);//输出在abcd.txt里
********************************************************************************************************************************
*/
public class C_ComplexPower{
public static void main(String[] args) throws FileNotFoundException {
BigInteger a = BigInteger.valueOf(2);
BigInteger b = BigInteger.valueOf(3);
BigInteger c = BigInteger.valueOf(2);
BigInteger d = BigInteger.valueOf(3);
BigInteger k = BigInteger.valueOf(0); //用于比较虚部是正是负,若最后虚部为正,则要在虚部前加+
//运算规则:a+bi c+di 相乘得(ac-bd)+ (ad+bc)i
for (int i = 1; i < 123456; i++) { //注意边界
BigInteger A = a.multiply(c).subtract(b.multiply(d)); //需要设置临时变量,否则无法输出
BigInteger B = a.multiply(d).add(b.multiply(c));
a = A;
b = B;
}
//输出
PrintStream ps = new PrintStream(new File("C:\\Users\\Administrator\\Desktop\\abcd.txt"));
System.setOut(ps); //setOut控制系统定向输出
System.out.println(a + ((b.compareTo(k))>=0 ? "+" : "")+b+"i");
}
}
第九届蓝桥杯大赛软件类省赛 Java 大学 B试题 C: 复数幂 解答
最新推荐文章于 2021-04-14 13:27:09 发布