2338번 : 긴자리 계산

상환·2021년 12월 1일
0
post-thumbnail
시간메모리
2초128mb

문제내용

두 수 A, B를 입력받아, A+B, A-B, A×B를 구하는 프로그램을 작성하시오.

입출력

1. 입력

첫째 줄에 A가, 둘째 줄에 B가 주어진다. 각각의 수는 10진수로 1,000자리를 넘지 않으며 양수와 음수가 모두 주어질 수 있다.

2. 출력

첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A×B를 출력한다. 각각을 출력할 때, 답이 0인 경우를 제외하고는 0으로 시작하게 해서는 안 된다(1을 01로 출력하면 안 된다는 의미).

풀이

1271번 엄청난 부자와 같은 문제다. BigInteger를 활용하는 문제다.

각각의 수는 10진수로 1000자리를 넘지 않으며

따라서 풀면

import java.math.BigInteger;
import java.util.Scanner;

public class Main {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        BigInteger n = scanner.nextBigInteger();
        BigInteger m = scanner.nextBigInteger();

        System.out.println(n.add(m));
        System.out.println(n.subtract(m));
        System.out.println(n.multiply(m));
    }
}

결과는

풀었다.

kotlin 코드

import java.util.*

fun main(){
    val scan = Scanner(System.`in`)
    val n = scan.nextBigInteger()
    val m = scan.nextBigInteger()

    println(n.add(m))
    println(n.subtract(m))
    println(n.multiply(m))
}
profile
레모네이드 커피

0개의 댓글