大整数除法:给定两个正整数p和q,其中p不超过10^100,q不超过100000,求p除以q的商和余数。(第一空2分,其余3分)
输入:第一行是p的位数n,第二行是正整数p,第三行是正整数q。
输出:两行,分别是p除以q的商和余数。
#include<iostream>
using namespacestd;
int p[100];
int n, i, q,rest;
char c;
int main() {
cin >> n;
for (i = 0; i < n; i++) {
cin >> c;
p[i] = c - '0';
}
cin >> q;
rest = p[0] ;
i = 1;
while ( rest<q && i < n) {
rest = rest * 10 + p[i];
i++;
}
if (rest < q)
cout << 0 <<endl;
else {
cout << rest/q ;
while (i < n) {
rest = rest%q*10+p[i] ;
i++;
cout<< rest/q ;
}
cout << endl;
}
cout << rest%q << endl;
return 0;
}