Trong hướng dẫn này, chúng ta sẽ học cách chia một số lớn được biểu diễn dưới dạng một chuỗi.
Chúng tôi đã đưa ra một số lớn ở định dạng chuỗi và một số chia. Chương trình của chúng tôi sẽ tìm thấy một lời nhắc nhở.
Đầu tiên, chúng ta sẽ tìm một phần của số đã cho lớn hơn số bị chia. Và sau đó chúng ta sẽ thêm từng chữ số còn lại vào số chia.
Hãy xem các bước để giải quyết vấn đề.
-
Khởi tạo số lớn cùng với một số chia.
-
Lặp lại số đã cho cho đến khi chúng tôi trích xuất phần lớn hơn số chia.
-
Bây giờ, hãy lặp lại từ vị trí chúng ta đã dừng ở bước trước cho đến khi kết thúc số.
-
Chia phần đã trích xuất với một số chia và thêm nó vào kết quả.
-
Cập nhật số bằng chữ số tiếp theo.
-
-
Kiểm tra xem kết quả có bằng 0 hay không.
-
Và in kết quả.
Ví dụ
Hãy xem mã.
#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; }
Đầu ra
Nếu bạn thực hiện chương trình trên, bạn sẽ nhận được kết quả sau.
164609052016460905
Kết luận
Nếu bạn có bất kỳ câu hỏi nào trong hướng dẫn, hãy đề cập đến chúng trong phần bình luận.