大数模板(Java)

Posted Roni

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数模板(Java)相关的知识,希望对你有一定的参考价值。

大数加法

技术分享
/*
给出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)的主要内容,如果未能解决你的问题,请参考以下文章

java大数模板

HDU-1134 卡特兰数+java大数模板

hdu_1041(Computer Transformation) 大数加法模板+找规律

大数高精度运算(模板)

VSCode自定义代码片段——.vue文件的模板

如何在导航抽屉活动模板中的片段之间传递字符串变量