//question
import java.math.BigInteger; public class Main { public static void fibonacci(){ BigInteger[] a=new BigInteger[100]; for(int i=0;i<100;i++){ if(i==0){ a[0]=new BigInteger("0"); System.out.print(a[i]+"\t"); continue; }else if(i==1){ a[1]=new BigInteger("1"); System.out.print(a[i]+"\t"); continue; } BigInteger bigInteger1 = new BigInteger("a[i-1]"); BigInteger bigInteger2 = new BigInteger("a[i-2]"); a[i]=a[i-1].add(a[i-2]); System.out.println(bigInteger1.add(bigInteger2)); if((i+1)%5==0){ System.out.println(" "); } } } }
//question02
//第三题 //设i为虚数单位。对于任意正整数n,(2+3i)^n 的实部和虚部都是整数。 //求(2+3i)^123456 等于多少?即(2+3i)的123456次幂,这个数字很大,要求精确表示。 //答案写成 “实部±虚部i” 的形式,实部和虚部都是整数(不能用科学计数法表示),中间任何地方都不加空格,实部为正时前面不加正号。(2+3i)^2 写成: -5+12i, //(2+3i)^5 的写成: 122-597i 注意:需要提交的是一个很庞大的复数,不要填写任何多余内容。 import java.math.BigInteger; public class Main { public static void fibonacci(){ BigInteger shi = new BigInteger("2"); BigInteger xu = new BigInteger("3"); BigInteger ote = new BigInteger("2"); for (int j =1;j<=123455;j++){ xu = (shi.multiply(xu)).multiply(ote); shi = (shi.multiply(shi)).add(xu.multiply(xu)); } System.out.println(shi+"+"+xu+"i"); } }