不是VIP会员,不能显示答案

题目解答

题目:
大整数除法:给定两个正整数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;
}
考点:
分析:
解答:
评论:
老师: