이 튜토리얼에서는 문자열로 표현되는 큰 수를 나누는 방법을 배울 것입니다.
우리는 문자열 형식으로 많은 수와 제수를 제공했습니다. 프로그램에서 알림을 찾아야 합니다.
먼저 주어진 숫자에서 배당금보다 큰 부분을 찾습니다. 그런 다음 나머지 숫자를 제수에 하나씩 추가합니다.
문제를 해결하는 단계를 살펴보겠습니다.
-
제수와 함께 큰 수를 초기화합니다.
-
제수보다 큰 부분을 추출할 때까지 주어진 숫자를 반복합니다.
-
이제 이전 단계에서 떠난 위치부터 숫자 끝까지 반복합니다.
-
추출된 부분을 제수로 나누어 결과에 더합니다.
-
다음 숫자로 번호를 업데이트하십시오.
-
-
결과가 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
결론
튜토리얼에서 질문이 있는 경우 댓글 섹션에 언급하세요.