#CS51003. 完善程序10-数论-3大整数除法

完善程序10-数论-3大整数除法

大整数除法

给定两个正整数 ppqq,其中 pp 不超过 1010010^{100}qq 不超过 100000, 求 pp 除以 qq 的商和余数。

(第一空 2 分,其余 3 分) 输入:第一行是 pp 的位数nn,第二行是正整数 pp,第三行是正整数 qq。 输出:两行,分别是 pp 除以 qq 的商和余数。

#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;
    return 0;
}
  1. ①处应填( ){{ select(1) }}
  • q[0]
  • n
  • p[0]
  • 0
  1. ②处应填( ){{ select(2) }}
  • rest<q
  • rest!=q
  • rest<=q
  • rest
  1. ③处应填( ){{ select(3) }}
  • rest/q
  • rest%q
  • rest
  • rest&q
  1. ④处应填( ){{ select(4) }}
  • pow(i,10)%q+p[i]
  • rest*10+p[i]%q
  • rest%q*10+p[i]
  • rest+p[i]
  1. ⑤处应填( ){{ select(5) }}
  • rest - q
  • rest
  • rest | q
  • rest % q