그래서 C#에 대한 지식이 거의없는 초보자라는 말로 시작하겠습니다.C#에서 bigint없이 매우 큰 숫자를 더하거나 빼는 방법은 무엇입니까?
주제에 도달 : 매우 큰 정수를 더하고/감할 수있는 프로그램을 만들어야합니다. 처음에는 BigInt가 허용되지 않는다는 것을 알아 내기 위해서만 BigInt를 사용했습니다. 이에 대한 논리적 인 해결 방법이 있어야합니까? 나는 "초등학교 방법"을 사용하는 아이디어를 가지고 있습니다. 여기에서는 오른쪽에서 왼쪽으로 시작하는 각 자릿수를 추가합니다.
문자열을 문자 배열로 분할하고 각 숫자를 오른쪽에서 왼쪽으로 추가했습니다 (GetUpperBound-i). 그러나 그것은 효과가없는 것처럼 보입니다.
내 코드 : SO 질문 아래
string s, s2;
char[] c_arr, c_arr2;
int i, erg;
s = "1234";
s2 = "5678";
c_arr = s.ToCharArray();
c_arr2 = s2.ToCharArray();
for (i = 0; i <= c_arr.GetUpperBound(0); i++)
{
erg = c_arr[c_arr.GetUpperBound(0)-i]+c_arr2[c_arr2.GetUpperBound(0)-i];
Console.Write(erg);
}
Console.ReadKey();
이 당신은 아마 지정해야 work._하지 않는 것 _But. –
개별 자릿수 합이 9 이상인 경우를 처리 할 필요가 없습니까? 1을 다음 열로 가져와야합니다. – Matt
각 배열의 두 문자를 합쳐도 예상 한대로 작동하지 않습니다. 처음 2, 4, 8에서는 "4"를 52로 변환하고 "8"을 56으로 변환합니다. 이것은 char 표현입니다. 각각의 개별 문자를 정수 값으로 변환하고 그 합을 계산해야합니다. – Matt