[백준 16428] A/B - 3 (C#) - soo:bak
작성일 :
문제 링크
설명
사칙연산 중 나눗셈에 대한 문제입니다.
입력으로 주어지는 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);
}
}
}