c# 큰 수 덧셈 코드 짜는 방법
Add("190000000000000000000008", "990000000000000000009999") == "1180000000000000000010007");
C#으로 위와 같이 커다란 숫자를 더하는 코드를 짜야 합니다. 문자열을 이용한다는 건 알겠는데 어떻게 해야 할지 감이 안 오네요... 어떻게 해야 할까요?
55글자 더 채워주세요.
1개의 답변이 있어요!
C#에는 BigInteger라는 이론적으로 해당 값에 상항이나 하한이 없는 임의의 크거나 작은 정수를 나타내는 형식이 있습니다.
하지만 비교하는 대상이 문자열이기 때문에 더한 값을 다시 문자열로 반환을 해야 하겠습니다.
using System; using System.Numerics; namespace ConsoleApp2 { class Program { static void Main(string[] args) { bool result = Add("190000000000000000000008", "990000000000000000009999") == "1180000000000000000010007"; Console.WriteLine(result); // True } private static string Add(string value1, string value2) { var bigInt1 = BigInteger.Parse(value1); var bigInt2 = BigInteger.Parse(value2); var bigIntResult = bigInt1 + bigInt2; return bigIntResult.ToString(); } } }
아래 코드를 참고하세요.추가적으로 를 사용하기 위해서는 System.Numerics에 대한 어셈블리에 대한 참조를 추가해야 합니다.
참고로 .NET Framework 4.0 부터 사용이 가능하며, 솔루션 탐색기에서 참조 추가를 해야 컴파일 에러가 발생하지 않습니다.
System.Numerics 를 선택합니다.