# 简单的高精度除以高精度

> 来源：梦飞idc云平台 | 原文：https://www.mfisp.com/13160.html | 发布：2022-11-24 | 更新：2022-11-24 | 分类：建站教程、投稿分享、运维技术

时间限制: 1000 ms 内存 u限制: 65536 KB  
提交数: 14176 通过数: 6917  
【题目描述】  
高精除以高精，求它们的商和余数。

 

【输入】  
输入两个低于300位的正整数。

 

【输出】  
输出商和余数。

 

【输入样例】  
1231312318457577687897987642324567864324567876543245671425346756786867867867  
1231312318767141738178325678412414124141425346756786867867867  
【输出样例】  
999999999748590  
179780909068307566598992807564736854549985603543237528310337

 

#include<iostream>  
using namespace std;  
string s1, s2;  
int a[301], b[301], c[301], tmp[301];  
int la, lb, lc, lt;//定义长度在外面  
void reverseStrtoInt(string src, int* des) {  
 for (int i = 0; i < src.size(); i++) {  
 des[src.size() - i] = src[i] - '0';  
 }  
}

 

int move(int B[], int TMP[], int LB, int I) {  
 for (int i = 1; i <= LB; i++) {  
 TMP[i + I] = B[i];  
 }  
 return LB + I;  
}

 

int mycmp(int A[], int TMP[], int LA, int LT) {  
 if (LA > LT) {  
 return 1;  
 }  
 else if (LA < LT) {//if  
 return -1;  
 }  
 else {//无else  
 for (int i = LA; i >= 1; i--) {  
 if (A[i] > TMP[i]) {  
 return 1;  
 }  
 if (A[i] < TMP[i]) {  
 return -1;  
 }  
 }  
 }  
 return 0;  
}

 

void sub(int A[], int TMP[], int& LA,int LT) {//记得传引用  
 for (int i = 1; i <= LT; i++) {  
 if (A[i] < TMP[i]) {  
 A[i + 1]--;  
 A[i] += 10;  
 }  
 A[i] = A[i] - TMP[i];  
 }  
 while (A[LA] == 0 && LA > 1) LA--;  
}

 

int main() {  
 cin >> s1 >> s2;  
 if (s2[0] == '0') {  
 return 0;  
 }  
 la = s1.size(),lb=s2.size();  
 lc = la - lb + 1;  
 reverseStrtoInt(s1, a);  
 reverseStrtoInt(s2, b);

 

for (int i = lc; i >= 1; i--) {  
 lt = move(b, tmp, lb, i - 1);//位移除数  
 while (mycmp(a, tmp, la, lt) >= 0) {//比较a和tmp数组谁大，这样才能减  
 c[i]++;  
 sub(a, tmp, la, lt);//如果可以减就调用减法  
 }  
 //la--;错  
 }

 

while (c[lc] == 0 && lc > 1) lc--;  
 for (int i = lc; i >= 1; i--) {  
 cout << c[i];  
 }  
 cout << endl;  
 for (int i = la; i >= 1; i--) {  
 cout << a[i];//余下来就是减完之后的余数  
 }  
 return 0;  
}

 

![简单的高精度除以高精度](https://www.mfisp.com/wp-content/uploads/2022/02/1397fb3628f64c1_1_post.jpg)

---
本页由 梦飞idc云平台（https://www.mfisp.com）提供。站点导航见 https://www.mfisp.com/llms.txt
