작성일 :

문제 링크

16428번 - A/B - 3

설명

사칙연산 중 나눗셈에 대한 문제입니다.

입력으로 주어지는 n 의 범위가 -1010000 에서 부터 1010000 으로 매우 크기 때문에,

해당 n 을 어떤 자료형으로 다룰 지에 따라서, 구현의 난이도가 달라지는 문제라고 생각합니다.

BigInteger 자료형을 지원하는 C# 을 이용하여 간단하게 풀이하였지만,
큰 정수 자료형을 사용하지 않고 string 자료형을 이용하여 직접 나눗셈 연산을 구현하여 풀이할 수도 있습니다.


Code


[ C# ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
namespace Solution {
  using System.Numerics;
  class Program {
    static void Main(string[] args) {

      string[]? input = Console.ReadLine()?.Split();
      BigInteger.TryParse(input?[0], out BigInteger a);
      BigInteger.TryParse(input?[1], out BigInteger b);

      BigInteger mod = a % b;
      if (mod < 0)
        mod += BigInteger.Abs(b);

      Console.WriteLine((a - mod) / b);
      Console.WriteLine(mod);

    }
  }
}