두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
A와 B 모두 양수다.
sbyte -128 ~ 127
byte 0 ~ 255
short –32,768 ~ 32,767
ushort 0 ~ 65,535
int –2,147,483,648 ~ 2,147,483,647
uint 0 ~ 4,294,967,295
long –9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
ulong 0 ~ 18,446,744,073,709,551,615
기본적인 타입으로는 위의 경우들이 있지만, C#에서는 BigInteger
을 제공한다.
using System.Numerics;
namespace SongE
{
public class Program
{
static void Main(string[] args)
{
BigInteger[] n = Array.ConvertAll(Console.ReadLine().Split(), s=>BigInteger.Parse(s));
Console.WriteLine(n[0] + n[1]);
}
}
}
사실 일반 수학1 탭에 있기 때문에 다른 방법을 원하는 문제이긴 하다.
내가 생각한 방법은 이렇다.
1) 숫자를 string으로 받는다.
2) 각 string 별 char 끼리 int형 변환을 하여 더한 뒤, 올려야하는 값이 있다면 앞쪽 자릿수에 1을 더해서 다음 자리수 계산에 반영한다.
3) 위 절차를 반복.