Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ 프로그램에서 문자열로 표현되는 큰 수 나누기

<시간/>

이 튜토리얼에서는 문자열로 표현되는 큰 수를 나누는 방법을 배울 것입니다.

우리는 문자열 형식으로 많은 수와 제수를 제공했습니다. 프로그램에서 알림을 찾아야 합니다.

먼저 주어진 숫자에서 배당금보다 큰 부분을 찾습니다. 그런 다음 나머지 숫자를 제수에 하나씩 추가합니다.

문제를 해결하는 단계를 살펴보겠습니다.

  • 제수와 함께 큰 수를 초기화합니다.

  • 제수보다 큰 부분을 추출할 때까지 주어진 숫자를 반복합니다.

  • 이제 이전 단계에서 떠난 위치부터 숫자 끝까지 반복합니다.

    • 추출된 부분을 제수로 나누어 결과에 더합니다.

    • 다음 숫자로 번호를 업데이트하십시오.

  • 결과가 0인지 아닌지 확인하세요.

  • 그리고 결과를 인쇄하십시오.

예시

코드를 봅시다.

#include <bits/stdc++.h>
using namespace std;
string divideLargeNumber(string number, int divisor) {
   // to store the result
   string result;
   int index = 0;
   // extracting the part that is greater than the given divisor
   int dividend = number[index] - '0';
   while (dividend < divisor) {
      dividend = dividend * 10 + (number[++index] - '0');
   }
   // iterating until all digits participate in the division
   while (number.size() > index) {
      result += (dividend / divisor) + '0';
      // adding the next digit to the dividend
      dividend = (dividend % divisor) * 10 + number[++index] - '0';
   }
   if (result.length() == 0) {
      return "0";
   }
   return result;
}
int main() {
   string large_number = "12345678901234567890";
   int divisor = 75;
   cout << divideLargeNumber(large_number, divisor) << endl;
   return 0;
}

출력

위의 프로그램을 실행하면 다음과 같은 결과를 얻을 수 있습니다.

164609052016460905

결론

튜토리얼에서 질문이 있는 경우 댓글 섹션에 언급하세요.