大数模板(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(); } }
a=int(input()) b=int(input()) print(a+b)
大数乘法
/* 给出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)); } }
A=int(raw_input()) B=int(raw_input()) print A*B
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); } }
大数除法+取模
/* 给出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)的主要内容,如果未能解决你的问题,请参考以下文章