(大整数除法)给定两个正整数 p 和 q,其中 p 不
(大整数除法)给定两个正整数 p 和 q,其中 p 不超过10100 ,q 不超过 100000 ,求 p 除以 q 的商和余数。
输入:第一行是 p 的位数 n,第二行是正整数 p ,第三行是正整数 q 。
输出:两行,分别是 p 除以 q 的商和余数。
#include <iostream>
using namespace std;
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 = ___(1)___ ;
i = 1;
while (___(2)___ && i < n){
rest = rest * 10 + p[i];
i++;
}
if (rest < q)
cout << 0 << endl;
else {
cout << ___(3)___ ;
while (i < n){
rest = ___(4)___ ;
i++;
cout << rest / q;
}
cout << endl;
}
cout << ___(5)___ << endl;
return0;
}答案
第1空:0
第2空:rest < q
第3空:rest / q
第4空:rest % q * 10 + p[i]
第5空:rest % q