java大數四則運算
阿新 • • 發佈:2020-10-23
各種基本操作
1 import java.math.BigInteger; 2 import java.util.*; 3 public class Main{ 4 public static void main(String[] args) 5 { 6 Scanner input = new Scanner(System.in); 7 BigInteger a = input.nextBigInteger();//輸入一個大數 8 BigInteger b = BigInteger.valueOf(0);//初始化一個為0的大數View Code9 BigInteger c = BigInteger.valueOf(1);//初始化一個為1的大數 10 BigInteger []shu = new BigInteger[4040];//初始化一個4040的大數陣列 11 int I = 1234567; 12 BigInteger d = BigInteger.valueOf(I);//將int轉化成BigInt 13 String s = "1234567"; 14 BigInteger f = new BigInteger(s); //將String轉為BigInt15 int e = 10010; 16 a = a.add(b); //a = a+b 17 a = a.subtract(b); //a = a-b 18 a = a.divide(b); //a = a/b 19 a = a.multiply(b); //a = a*b 20 a = a.mod(b); //a = a%b 21 if(a.equals(a.max(b)));// if(a>b) 22 if(b.equals(a.max(b)));//if(a<b) 23 24 c = a.pow(e); //a = a^e e必須為int型別 25 c = a.gcd(b); //a和b的最大公約數 26 27 int len = a.toString().length(); //求大數的長度 28 while(input.hasNext())//一直輸入 29 { 30 BigInteger k = input.nextBigInteger(); 31 } 32 } 33 }
加法(斐波那契)
1 import java.io.*; 2 import java.util.*; 3 import java.math.*; 4 5 6 public class Main { 7 public static void main(String[] args) { 8 Scanner cin = new Scanner(System.in); 9 BigInteger []fic = new BigInteger[1010]; 10 fic[0]=fic[1]=BigInteger.ONE; 11 for(int i=2;i<=1000;i++){ 12 fic[i]=fic[i-1].add(fic[i-2]); 13 } 14 int T = cin.nextInt(); 15 for(int i=1;i<=T;i++){ 16 int tmp=cin.nextInt(); 17 System.out.println(fic[tmp]); 18 } 19 } 20 21 }View Code
乘法(階乘)
1 import java.io.*; 2 import java.util.*; 3 import java.math.*; 4 5 6 public class Main { 7 public static void main(String[] args) { 8 Scanner cin = new Scanner(System.in); 9 BigInteger []jc = new BigInteger[1010]; 10 jc[1]=BigInteger.ONE; 11 for(int i=2;i<=1000;i++){ 12 jc[i]=jc[i-1].multiply(BigInteger.valueOf(i)); 13 } 14 int T = cin.nextInt(); 15 for(int i=1;i<=T;i++){ 16 int tmp=cin.nextInt(); 17 System.out.println(jc[tmp]); 18 } 19 } 20 21 }View Code