SOJ 1002/1003/1004 大整数相加/相乘/相除

Posted 87hbteo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);
        }
    }

}

 

以上是关于SOJ 1002/1003/1004 大整数相加/相乘/相除的主要内容,如果未能解决你的问题,请参考以下文章

字典取值

大整数相加问题

一维数组

java大整数相加

实现大整数相加(考虑符号位,可能有负整数) 思维严谨程度!!

用JAVA线性表来编写“任意大的整数相加减”