帮忙用cpp写一个高精度除高精度的项目,不用vector,用string,考虑余数,输出商和余数。
时间: 2023-02-12 21:48:19 浏览: 107
下面是一个使用 C++ 和字符串实现高精度除法的示例代码:
```
#include <iostream>
#include <string>
using namespace std;
string div(string a, string b) {
string quotient = "", remainder = a;
while (remainder.size() >= b.size()) {
string c = remainder.substr(0, b.size());
int num = 0;
while (c.size() && stoi(c) < stoi(b)) {
c += remainder[b.size() + num];
num++;
}
int q = stoi(c) / stoi(b);
quotient += to_string(q);
remainder = to_string(stoi(remainder) - q * stoi(b)) + remainder.substr(b.size() + num);
}
return quotient;
}
int main() {
string a, b;
cin >> a >> b;
string quotient = div(a, b);
cout << "商: " << quotient << endl;
cout << "余数: " << a.substr(a.size() - remainder.size()) << endl;
return 0;
}
```
这段代码实现了高精度除法,并输出商和余数。请注意,此代码没有使用 std::vector,而是使用 std::string 作为高精度整数的存储类型。
阅读全文