1. 程式人生 > >大數模板(Java)

大數模板(Java)

display 技術分享 負數 tint java gif imp eve println

大數加法

技術分享
/*
給出2個大整數A,B,計算A+B的結果。

Input
第1行:大數A
第2行:大數B
(A,B的長度 <= 10000 需註意:A B有可能為負數)

Output
輸出A + B

Input示例
68932147586
468711654886

Output示例
537643802472

*/
import java.util.*;
import java.io.*;
import java.lang.String;
import java.math.BigDecimal;
 
public class pp
{
    
public static void main(String[] args) { String s1,s2; Scanner cin = new Scanner(System.in); s1 = cin.next(); s2 = cin.next(); BigDecimal b1 = new BigDecimal(s1); BigDecimal b2 = new BigDecimal(s2); System.out.println(b1.add(b2)); cin.close(); } }
大數加法-656ms/1s

技術分享
a=int(input())
b=int(input())
print(a+b)
py2-78ms/1s

大數乘法

技術分享
/*
給出2個大整數A,B,計算A*B的結果。

Input
第1行:大數A
第2行:大數B
(A,B的長度 <= 1000,A,B >= 0)

Output
輸出A * B

Input示例
123456
234567

Output示例
28958703552

*/
import java.math.BigInteger;
import java.util.Scanner;

public class pp { public static void main(String[] args) { Scanner in=new Scanner(System.in); BigInteger a,b; a=in.nextBigInteger(); b=in.nextBigInteger(); System.out.println(a.multiply(b)); } }
大數乘法-4515ms/6000

技術分享
A=int(raw_input())
B=int(raw_input())
print A*B
py2-2578ms

N的階乘

技術分享
/*
輸入N求N的階乘的準確值。

Input
第1行:大數A
第2行:大數B

Input
輸入N(1 <= N <= 10000)

Output
輸出N的階乘

Input示例
5
Output示例
120
*/
import java.math.BigInteger;
import java.util.Scanner;

public class  pp{
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        BigInteger sum=BigInteger.ONE;
        int n;
        n=in.nextInt();
        for(int i=1;i<=n;i++)
            sum=sum.multiply(BigInteger.valueOf(i));
        System.out.println(sum);
    }
}
N的階乘

大數除法+取模

技術分享
/*
給出2個大整數A,B,計算A / B和A Mod B的結果。

Input
第1行:大數A
第2行:大數B
(A,B的長度 <= 100000,A,B >= 0)
 
Output
第1行:A / B
第2行:A Mod B (A % B)
 
Input示例
987654321
1234

Output示例
800368
209
*/
//2750 ms/4s

import java.math.BigInteger;
import java.util.Scanner;

public class pp{
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        BigInteger  a,b;
        a=in.nextBigInteger();
        b=in.nextBigInteger();
        System.out.println(a.divide(b));
        System.out.println(a.mod(b));
    }
}
大數除法+取模

大數模板(Java)