SOJ 1002/1003/1004 大整数相加/相乘/相除
三个题目分别考察大整数相加相乘相除运算。如果按照传统算法是取一个长数组,之后进行模拟或者FFT来进行运算。但是相对繁琐。
后来昨天的青岛区域赛网赛1001,用到了JAVA的BigDecimal,于是反过来想到了这几个题目。用JAVA写了以后果然很简单。
1002:大数相加:
AC代码:
import java.util.*; import java.math.*; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner cin =new Scanner(System.in); BigInteger a,b,c; // a= cin.nextBigInteger(); while(cin.hasNext()){ a=cin.nextBigInteger(); b=cin.nextBigInteger(); c=a.add(b); System.out.println(c); } } }
1003大数相乘:
import java.util.*; import java.math.*; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner cin =new Scanner(System.in); BigInteger a,b,c; // a= cin.nextBigInteger(); while(cin.hasNext()){ a=cin.nextBigInteger(); b=cin.nextBigInteger(); c=a.multiply(b); System.out.println(c); } } }
1004大数相除:
import java.util.*; import java.math.*; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner cin =new Scanner(System.in); BigInteger a,b,c; // a= cin.nextBigInteger(); while(cin.hasNext()){ a=cin.nextBigInteger(); b=cin.nextBigInteger(); c=a.divide(b); System.out.println(c); } } }