大数加法
/* 给出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 输入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)); } }
大数进制转换
/* 给出一个36进制的大数(0-9,A-Z),将其转为10进制并输出。 Input 输入:36进制的大数,每一位用0-9,A-Z来表示,A表示10,Z表示35。(A的长度 <= 100000) Output 输出:该数的10进制表示 Input示例 1AZ Output示例 1691 */ //3765 ms/3s import java.io.BufferedInputStream; import java.math.BigInteger; import java.util.Scanner; public class Main { static boolean checkeNumber(char a) { return a>='0'&&a<='9'; } public static void main(String[] args) { Scanner cin=new Scanner(new BufferedInputStream(System.in)); String str=cin.next(); BigInteger b=new BigInteger(str,36); System.out.println(b); } }
大数开方
package Demo; /* 现在给你两个数 n 和 p ,让你求出 p的开 n 次方。 输入 每组数据包含两个数n和p。当n和p都为0时表示输入结束。(1<=n<=200,1<=p<=10^101) 输出 对于每个输出对用输出开方后的结果k(结果小于10^9)。 样例输入 2 16 3 27 7 4357186184021382204544 样例输出 4 3 1234 //112ms/300 */ import java.util.Scanner; public class Demo{ public static void main(String[] args){ Scanner input=new Scanner(System.in); int n=input.nextInt(); double p=input.nextDouble(); System.out.println(String.format("%.0f", Math.pow(p, 1.0/n))); } }