1. 程式人生 > 實用技巧 >java大數四則運算

java大數四則運算

各種基本操作

 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的大數
9 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轉為BigInt
15 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 }
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 []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